Add migration 021 set_engine_mysql_innodb

Change: I1536c9276bc807aac26849e37556b465e8b5c9eb which added
migration 018 neglected to set the mysql engine to InnoDB
when it added the image_locations table. This commit adds a
new migration to set the image_locations table to the InnoDB
engine.

Change-Id: I935065d8e1929d5df075cc5c7de81793b1dd73a1
This commit is contained in:
Matthew Treinish 2013-02-22 15:44:06 -05:00 committed by Gerrit Code Review
parent abb581c71b
commit 69a0d3f532
1 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,37 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2013 OpenStack Foundation
# All Rights Reserved.
# Copyright 2013 IBM Corp.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from sqlalchemy import MetaData
tables = ['image_locations']
def upgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine
if migrate_engine.name == "mysql":
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):
pass