Refactor software config db model to use LongText
Reuse the types defined in heat.db.sqlalchemy.types in software config db model and versions migration to make code clean and consistent. Change-Id: Iae7d5ec34413aedf8a38a3e22d22cacf4e031c24
This commit is contained in:
parent
97dded3fb0
commit
3d2e080721
|
@ -13,18 +13,15 @@
|
|||
# under the License.
|
||||
|
||||
import sqlalchemy
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
from heat.db.sqlalchemy.types import Json
|
||||
from heat.db.sqlalchemy.types import LongText
|
||||
|
||||
|
||||
def upgrade(migrate_engine):
|
||||
meta = sqlalchemy.MetaData()
|
||||
meta.bind = migrate_engine
|
||||
|
||||
if migrate_engine.name == 'mysql':
|
||||
long_text = mysql.LONGTEXT()
|
||||
else:
|
||||
long_text = sqlalchemy.Text
|
||||
|
||||
software_config = sqlalchemy.Table(
|
||||
'software_config', meta,
|
||||
sqlalchemy.Column('id', sqlalchemy.String(36),
|
||||
|
@ -35,8 +32,8 @@ def upgrade(migrate_engine):
|
|||
sqlalchemy.Column('name', sqlalchemy.String(255),
|
||||
nullable=True),
|
||||
sqlalchemy.Column('group', sqlalchemy.String(255)),
|
||||
sqlalchemy.Column('config', long_text),
|
||||
sqlalchemy.Column('io', long_text),
|
||||
sqlalchemy.Column('config', LongText),
|
||||
sqlalchemy.Column('io', Json),
|
||||
sqlalchemy.Column('tenant', sqlalchemy.String(256),
|
||||
nullable=False,
|
||||
index=True),
|
||||
|
@ -60,8 +57,8 @@ def upgrade(migrate_engine):
|
|||
sqlalchemy.String(36),
|
||||
sqlalchemy.ForeignKey('software_config.id'),
|
||||
nullable=False),
|
||||
sqlalchemy.Column('input_values', long_text),
|
||||
sqlalchemy.Column('output_values', long_text),
|
||||
sqlalchemy.Column('input_values', Json),
|
||||
sqlalchemy.Column('output_values', Json),
|
||||
sqlalchemy.Column('signal_id', sqlalchemy.String(1024)),
|
||||
sqlalchemy.Column('action', sqlalchemy.String(255)),
|
||||
sqlalchemy.Column('status', sqlalchemy.String(255)),
|
||||
|
|
|
@ -26,6 +26,7 @@ from heat.openstack.common.db.sqlalchemy import models
|
|||
from heat.openstack.common.db.sqlalchemy import session
|
||||
from sqlalchemy.orm.session import Session
|
||||
from heat.db.sqlalchemy.types import Json
|
||||
from heat.db.sqlalchemy.types import LongText
|
||||
|
||||
BASE = declarative_base()
|
||||
get_session = session.get_session
|
||||
|
@ -258,7 +259,7 @@ class SoftwareConfig(BASE, HeatBase):
|
|||
name = sqlalchemy.Column('name', sqlalchemy.String(255),
|
||||
nullable=True)
|
||||
group = sqlalchemy.Column('group', sqlalchemy.String(255))
|
||||
config = sqlalchemy.Column('config', sqlalchemy.Text)
|
||||
config = sqlalchemy.Column('config', LongText)
|
||||
io = sqlalchemy.Column('io', Json)
|
||||
tenant = sqlalchemy.Column(
|
||||
'tenant', sqlalchemy.String(256), nullable=False)
|
||||
|
|
Loading…
Reference in New Issue