From 417b02df65a67b1b3e0e756bd25b06c214acc3dc Mon Sep 17 00:00:00 2001 From: Andrey Pavlov Date: Tue, 9 Jan 2018 22:03:13 +0300 Subject: [PATCH] fix DB migration for MySQL current version of migration API doesn't allow to pass several commands to one execute Depends-On: I9f1f39b30d43dc16a474febcf6549cf1901732ec Change-Id: I0a74c87c4c782a7a26aa0e67fada994cb3e31434 --- devstack/plugin.sh | 2 +- ec2api/db/sqlalchemy/migrate_repo/versions/001_juno.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 0d7c85e5..16612e05 100755 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -242,7 +242,7 @@ function configure_ec2api { # init_ec2api() - Initialize databases, etc. function init_ec2api() { # (re)create ec2api database - recreate_database ec2api utf8 + recreate_database ec2api $EC2API_BIN_DIR/ec2-api-manage --config-file $EC2API_CONF_FILE db_sync } diff --git a/ec2api/db/sqlalchemy/migrate_repo/versions/001_juno.py b/ec2api/db/sqlalchemy/migrate_repo/versions/001_juno.py index 9155154e..bac3be5e 100644 --- a/ec2api/db/sqlalchemy/migrate_repo/versions/001_juno.py +++ b/ec2api/db/sqlalchemy/migrate_repo/versions/001_juno.py @@ -48,9 +48,10 @@ def upgrade(migrate_engine): if migrate_engine.name == "mysql": # In Folsom we explicitly converted migrate_version to UTF8. sql = "ALTER TABLE migrate_version CONVERT TO CHARACTER SET utf8;" + migrate_engine.execute(sql) # Set default DB charset to UTF8. - sql += ("ALTER DATABASE %s DEFAULT CHARACTER SET utf8;" % - migrate_engine.url.database) + sql = (" ALTER DATABASE %s DEFAULT CHARACTER SET utf8;" % + migrate_engine.url.database) migrate_engine.execute(sql)