¡@

Home 

OpenStack Study: 014_add_image_tags_table.py

OpenStack Index

**** CubicPower OpenStack Study ****

def define_image_tags_table(meta):

    # Load the images table so the foreign key can be set up properly

    schema.Table('images', meta, autoload=True)

    image_tags = schema.Table('image_tags',

                              meta,

                              schema.Column('id',

                                            glance_schema.Integer(),

                                            primary_key=True,

                                            nullable=False),

                              schema.Column('image_id',

                                            glance_schema.String(36),

                                            schema.ForeignKey('images.id'),

                                            nullable=False),

                              schema.Column('value',

                                            glance_schema.String(255),

                                            nullable=False),

                              schema.Column('created_at',

                                            glance_schema.DateTime(),

                                            nullable=False),

                              schema.Column('updated_at',

                                            glance_schema.DateTime()),

                              schema.Column('deleted_at',

                                            glance_schema.DateTime()),

                              schema.Column('deleted',

                                            glance_schema.Boolean(),

                                            nullable=False,

                                            default=False),

                              mysql_engine='InnoDB')

    schema.Index('ix_image_tags_image_id',

                 image_tags.c.image_id)

    schema.Index('ix_image_tags_image_id_tag_value',

                 image_tags.c.image_id,

                 image_tags.c.value)

    return image_tags

**** CubicPower OpenStack Study ****

def upgrade(migrate_engine):

    meta = schema.MetaData()

    meta.bind = migrate_engine

    tables = [define_image_tags_table(meta)]

    glance_schema.create_tables(tables)

**** CubicPower OpenStack Study ****

def downgrade(migrate_engine):

    meta = schema.MetaData()

    meta.bind = migrate_engine

    tables = [define_image_tags_table(meta)]

    glance_schema.drop_tables(tables)