From: Angus Lees Date: Wed, 13 Aug 2014 01:59:18 +0000 (+1000) Subject: Issue one SQL statement per execute() call X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=fec9efbdf8eca107a23a32109e37b4039c8beebc;p=openstack-build%2Fcinder-build.git Issue one SQL statement per execute() call Some sqlalchemy drivers don't support multiple SQL statements in a single execute() call. The sqlalchemy author has confirmed that one statement per execute() is the intended API. Change-Id: I527780765371dcc9645a721d60ed9ac67ddde29f --- diff --git a/cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py b/cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py index ab85a7c1e..5cbcbd522 100644 --- a/cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py +++ b/cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py @@ -256,14 +256,15 @@ def upgrade(migrate_engine): "volume_metadata", "volume_type_extra_specs"] - sql = "SET foreign_key_checks = 0;" + migrate_engine.execute("SET foreign_key_checks = 0") for table in tables: - sql += "ALTER TABLE %s CONVERT TO CHARACTER SET utf8;" % table - sql += "SET foreign_key_checks = 1;" - sql += "ALTER DATABASE %s DEFAULT CHARACTER SET utf8;" \ - % migrate_engine.url.database - sql += "ALTER TABLE %s Engine=InnoDB;" % table - migrate_engine.execute(sql) + migrate_engine.execute( + "ALTER TABLE %s CONVERT TO CHARACTER SET utf8" % table) + migrate_engine.execute("SET foreign_key_checks = 1") + migrate_engine.execute( + "ALTER DATABASE %s DEFAULT CHARACTER SET utf8" % + migrate_engine.url.database) + migrate_engine.execute("ALTER TABLE %s Engine=InnoDB" % table) def downgrade(migrate_engine):