

def upgrade(migrate_engine):
    meta = MetaData()
    meta.bind = migrate_engine
    (define_images_table,) = from_migration_import('001_add_images_table', ['define_images_table'])
    (define_image_properties_table,) = from_migration_import('002_add_image_properties_table', ['define_image_properties_table'])
    conn = migrate_engine.connect()
    images = define_images_table(meta)
    image_properties = define_image_properties_table(meta)
    sel = select([images], from_obj=[images.outerjoin(image_properties, and_((images.c.id == image_properties.c.image_id), (image_properties.c.key == 'type')))]).where(and_((image_properties.c.image_id == None), (images.c.type != None)))
    image_records = conn.execute(sel).fetchall()
    property_insert = image_properties.insert()
    for record in image_records:
        conn.execute(property_insert, image_id=record.id, key='type', created_at=record.created_at, deleted=False, value=record.type)
    disk_format = Column('disk_format', String(20))
    disk_format.create(images)
    container_format = Column('container_format', String(20))
    container_format.create(images)
    images.columns['type'].drop()
    conn.close()

dataset/ETHPy150Open rcbops/glance-buildpackage/glance/registry/db/migrate_repo/versions/003_add_disk_format.py upgrade/original