Always default to InnoDB for MySQL
OpenStack CI uses MyISAM by default, which does not even support
foreign keys. This change essentially mirrors what ironic is doing.
Also sets the default charset to UTF-8.
Closes-Bug: #1506160
Change-Id: I7caf0a2122f98c59f121f003ac092ecb0ce123c4
(cherry picked from commit fbfdf5ee69
)
This commit is contained in:
parent
2c64da2bee
commit
95db43cf5f
@ -28,7 +28,12 @@ from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy import orm
|
||||
|
||||
|
||||
Base = declarative_base(cls=models.ModelBase)
|
||||
class ModelBase(models.ModelBase):
|
||||
__table_args__ = {'mysql_engine': "InnoDB",
|
||||
'mysql_charset': "utf8"}
|
||||
|
||||
|
||||
Base = declarative_base(cls=ModelBase)
|
||||
CONF = cfg.CONF
|
||||
|
||||
_FACADE = None
|
||||
|
@ -38,14 +38,18 @@ def upgrade():
|
||||
sa.Column('uuid', sa.String(36), primary_key=True),
|
||||
sa.Column('started_at', sa.Float, nullable=True),
|
||||
sa.Column('finished_at', sa.Float, nullable=True),
|
||||
sa.Column('error', sa.Text, nullable=True)
|
||||
sa.Column('error', sa.Text, nullable=True),
|
||||
mysql_ENGINE='InnoDB',
|
||||
mysql_DEFAULT_CHARSET='UTF8'
|
||||
)
|
||||
|
||||
op.create_table(
|
||||
'attributes',
|
||||
sa.Column('name', sa.String(255), primary_key=True),
|
||||
sa.Column('value', sa.String(255), primary_key=True),
|
||||
sa.Column('uuid', sa.String(36), sa.ForeignKey('nodes.uuid'))
|
||||
sa.Column('uuid', sa.String(36), sa.ForeignKey('nodes.uuid')),
|
||||
mysql_ENGINE='InnoDB',
|
||||
mysql_DEFAULT_CHARSET='UTF8'
|
||||
)
|
||||
|
||||
op.create_table(
|
||||
@ -53,7 +57,9 @@ def upgrade():
|
||||
sa.Column('uuid', sa.String(36), sa.ForeignKey('nodes.uuid'),
|
||||
primary_key=True),
|
||||
sa.Column('name', sa.String(255), primary_key=True),
|
||||
sa.Column('value', sa.Text)
|
||||
sa.Column('value', sa.Text),
|
||||
mysql_ENGINE='InnoDB',
|
||||
mysql_DEFAULT_CHARSET='UTF8'
|
||||
)
|
||||
|
||||
|
||||
|
@ -37,6 +37,8 @@ def upgrade():
|
||||
sa.Column('created_at', sa.DateTime, nullable=False),
|
||||
sa.Column('description', sa.Text),
|
||||
sa.Column('disabled', sa.Boolean, default=False),
|
||||
mysql_ENGINE='InnoDB',
|
||||
mysql_DEFAULT_CHARSET='UTF8'
|
||||
)
|
||||
|
||||
op.create_table(
|
||||
@ -46,7 +48,9 @@ def upgrade():
|
||||
sa.Column('op', sa.String(255), nullable=False),
|
||||
sa.Column('multiple', sa.String(255), nullable=False),
|
||||
sa.Column('field', sa.Text),
|
||||
sa.Column('params', types.JsonEncodedDict)
|
||||
sa.Column('params', types.JsonEncodedDict),
|
||||
mysql_ENGINE='InnoDB',
|
||||
mysql_DEFAULT_CHARSET='UTF8'
|
||||
)
|
||||
|
||||
op.create_table(
|
||||
@ -54,7 +58,9 @@ def upgrade():
|
||||
sa.Column('id', sa.Integer, primary_key=True),
|
||||
sa.Column('rule', sa.String(36), sa.ForeignKey('rules.uuid')),
|
||||
sa.Column('action', sa.String(255), nullable=False),
|
||||
sa.Column('params', types.JsonEncodedDict)
|
||||
sa.Column('params', types.JsonEncodedDict),
|
||||
mysql_ENGINE='InnoDB',
|
||||
mysql_DEFAULT_CHARSET='UTF8'
|
||||
)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user