diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-04-30 21:56:26 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-04-30 21:56:26 +0000 |
| commit | 7b16b366963c2b45c2271a985815a3eeb4ebe33c (patch) | |
| tree | 5e69e20d4ef1ed85610bd8295a4b27b80dd19b98 /nova | |
| parent | 9c1e5e5d8f766b08f407c71afb1ab819f43d5da4 (diff) | |
| parent | 5f2eab36345b2e2ac5ca72843c7dc69d35c106da (diff) | |
Merge "Fix InnoDB migration bug in migrate script 86."
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/db/sqlalchemy/migrate_repo/versions/086_set_engine_mysql_innodb.py | 38 |
1 files changed, 15 insertions, 23 deletions
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/086_set_engine_mysql_innodb.py b/nova/db/sqlalchemy/migrate_repo/versions/086_set_engine_mysql_innodb.py index f1bdf7c96..da985b956 100644 --- a/nova/db/sqlalchemy/migrate_repo/versions/086_set_engine_mysql_innodb.py +++ b/nova/db/sqlalchemy/migrate_repo/versions/086_set_engine_mysql_innodb.py @@ -20,32 +20,24 @@ from sqlalchemy import MetaData def upgrade(migrate_engine): # Upgrade operations go here. Don't create your own engine; # bind migrate_engine to your metadata + + tables = ["agent_builds", "aggregate_hosts", "aggregate_metadata", + "aggregates", "block_device_mapping", "bw_usage_cache", + "dns_domains", "instance_faults", "instance_type_extra_specs", + "provider_fw_rules", "quota_classes", "s3_images", + "sm_backend_config", "sm_flavors", "sm_volume", + "virtual_storage_arrays", "volume_metadata", + "volume_type_extra_specs", "volume_types"] + meta = MetaData() meta.bind = migrate_engine if migrate_engine.name == "mysql": - migrate_engine.execute("ALTER TABLE agent_builds Engine=InnoDB") - migrate_engine.execute("ALTER TABLE aggregate_hosts Engine=InnoDB") - migrate_engine.execute("ALTER TABLE aggregate_metadata Engine=InnoDB") - migrate_engine.execute("ALTER TABLE aggregates Engine=InnoDB") - migrate_engine.execute( - "ALTER TABLE block_device_mapping Engine=InnoDB") - migrate_engine.execute("ALTER TABLE bw_usage_cache Engine=InnoDB") - migrate_engine.execute("ALTER TABLE dns_domains Engine=InnoDB") - migrate_engine.execute("ALTER TABLE instance_faults Engine=InnoDB") - migrate_engine.execute( - "ALTER TABLE instance_type_extra_specs Engine=InnoDB") - migrate_engine.execute("ALTER TABLE provider_fw_rules Engine=InnoDB") - migrate_engine.execute("ALTER TABLE quota_classes Engine=InnoDB") - migrate_engine.execute("ALTER TABLE s3_images Engine=InnoDB") - migrate_engine.execute("ALTER TABLE sm_backend_config Engine=InnoDB") - migrate_engine.execute("ALTER TABLE sm_flavors Engine=InnoDB") - migrate_engine.execute("ALTER TABLE sm_volume Engine=InnoDB") - migrate_engine.execute( - "ALTER TABLE virtual_storage_arrays Engine=InnoDB") - migrate_engine.execute("ALTER TABLE volume_metadata Engine=InnoDB") - migrate_engine.execute( - "ALTER TABLE volume_type_extra_specs Engine=InnoDB") - migrate_engine.execute("ALTER TABLE volume_types Engine=InnoDB") + d = migrate_engine.execute("SHOW TABLE STATUS WHERE Engine!='InnoDB';") + for row in d.fetchall(): + table_name = row[0] + if table_name in tables: + migrate_engine.execute("ALTER TABLE %s Engine=InnoDB" % + table_name) def downgrade(migrate_engine): |
