¡@

Home 

OpenStack Study: 005_set_utf8_character_set.py

OpenStack Index

**** CubicPower OpenStack Study ****

def upgrade(migrate_engine):

    # Upgrade operations go here. Don't create your own engine; bind

    # migrate_engine to your metadata

    meta = MetaData()

    meta.bind = migrate_engine

    if migrate_engine.name == "mysql":

        tables = ['tenant', 'user', 'role', 'token', 'service', 'metadata',

                  'ec2_credential', 'endpoint', 'user_tenant_membership']

        sql = "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

        migrate_engine.execute(sql)

**** CubicPower OpenStack Study ****

def downgrade(migrate_engine):

    # Operations to reverse the above upgrade go here.

    if migrate_engine.name == "mysql":

        tables = ['tenant', 'user', 'role', 'token', 'service', 'metadata',

                  'ec2_credential', 'endpoint', 'user_tenant_membership']

        sql = "SET foreign_key_checks = 0;"

        for table in tables:

            sql += "ALTER TABLE %s CONVERT TO CHARACTER SET latin1;" % table

        sql += "SET foreign_key_checks = 1;"

        sql += "ALTER DATABASE %s DEFAULT CHARACTER SET latin1;" \

            % migrate_engine.url.database