¡@

Home 

OpenStack Study: 004_add_checksum.py

OpenStack Index

**** CubicPower OpenStack Study ****

def get_images_table(meta):

    """

    Returns the Table object for the images table that

    corresponds to the images table definition of this version.

    """

    images = Table('images',

                   meta,

                   Column('id', Integer(), primary_key=True, nullable=False),

                   Column('name', String(255)),

                   Column('disk_format', String(20)),

                   Column('container_format', String(20)),

                   Column('size', Integer()),

                   Column('status', String(30), nullable=False),

                   Column('is_public',

                          Boolean(),

                          nullable=False,

                          default=False,

                          index=True),

                   Column('location', Text()),

                   Column('created_at', DateTime(), nullable=False),

                   Column('updated_at', DateTime()),

                   Column('deleted_at', DateTime()),

                   Column('deleted',

                          Boolean(),

                          nullable=False,

                          default=False,

                          index=True),

                   Column('checksum', String(32)),

                   mysql_engine='InnoDB',

                   extend_existing=True)

    return images

**** CubicPower OpenStack Study ****

def get_image_properties_table(meta):

    """

    No changes to the image properties table from 002...

    """

    (define_image_properties_table,) = from_migration_import(

        '002_add_image_properties_table', ['define_image_properties_table'])

    image_properties = define_image_properties_table(meta)

    return image_properties

**** CubicPower OpenStack Study ****

def upgrade(migrate_engine):

    meta = MetaData()

    meta.bind = migrate_engine

    images = get_images_table(meta)

    checksum = Column('checksum', String(32))

    checksum.create(images)

**** CubicPower OpenStack Study ****

def downgrade(migrate_engine):

    meta = MetaData()

    meta.bind = migrate_engine

    images = get_images_table(meta)

    images.columns['checksum'].drop()