data.database/migrations: remove repo_id from db

This also manually organizes and removes broken parts of the migration.
This commit is contained in:
Jimmy Zelinskie 2017-03-16 15:11:35 -04:00
parent 8f323154ce
commit 1e9ce85af6
2 changed files with 167 additions and 167 deletions

View file

@ -549,17 +549,12 @@ class Visibility(BaseModel):
name = CharField(index=True, unique=True)
class RepositoryKind(BaseModel):
name = CharField(index=True, unique=True)
class Repository(BaseModel):
namespace_user = QuayUserField(null=True)
name = FullIndexedCharField(match_function=db_match_func)
visibility = ForeignKeyField(Visibility)
description = FullIndexedTextField(match_function=db_match_func, null=True)
badge_token = CharField(default=uuid_generator)
repo_kind = EnumField(RepositoryKind)
class Meta:
database = db

View file

@ -17,35 +17,24 @@ from util.migrate import UTF8LongText, UTF8CharField
def upgrade(tables):
### commands auto generated by Alembic - please adjust! ###
op.create_table('repositorykind',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', UTF8CharField(length=255), nullable=False),
sa.PrimaryKeyConstraint('id', name=op.f('pk_repositorykind'))
)
# this is used for the default value of repository.repo_kind
op.bulk_insert(tables.repositorykind,
[
{'name': 'image', 'id': 1},
{'name': 'application', 'id': 2},
])
op.create_table('tagkind',
op.create_table(
'tagkind',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', UTF8CharField(length=255), nullable=False),
sa.PrimaryKeyConstraint('id', name=op.f('pk_tagkind'))
)
op.create_table('blobplacementlocation',
op.create_index('tagkind_name', 'tagkind', ['name'], unique=True)
op.create_table(
'blobplacementlocation',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', UTF8CharField(length=255), nullable=False),
sa.PrimaryKeyConstraint('id', name=op.f('pk_blobplacementlocation'))
)
op.create_index('blobplacementlocation_name', 'blobplacementlocation', ['name'], unique=True)
op.create_index('repositorykind_name', 'repositorykind', ['name'], unique=True)
op.create_index('tagkind_name', 'tagkind', ['name'], unique=True)
op.create_table('blob',
op.create_table(
'blob',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('digest', UTF8CharField(length=255), nullable=False),
sa.Column('media_type_id', sa.Integer(), nullable=False),
@ -56,7 +45,9 @@ def upgrade(tables):
)
op.create_index('blob_digest', 'blob', ['digest'], unique=True)
op.create_index('blob_media_type_id', 'blob', ['media_type_id'], unique=False)
op.create_table('blobplacementlocationpreference',
op.create_table(
'blobplacementlocationpreference',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('user_id', sa.Integer(), nullable=False),
sa.Column('location_id', sa.Integer(), nullable=False),
@ -66,7 +57,9 @@ def upgrade(tables):
)
op.create_index('blobplacementlocationpreference_location_id', 'blobplacementlocationpreference', ['location_id'], unique=False)
op.create_index('blobplacementlocationpreference_user_id', 'blobplacementlocationpreference', ['user_id'], unique=False)
op.create_table('manifest',
op.create_table(
'manifest',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('digest', UTF8CharField(length=255), nullable=False),
sa.Column('media_type_id', sa.Integer(), nullable=False),
@ -76,7 +69,9 @@ def upgrade(tables):
)
op.create_index('manifest_digest', 'manifest', ['digest'], unique=True)
op.create_index('manifest_media_type_id', 'manifest', ['media_type_id'], unique=False)
op.create_table('manifestlist',
op.create_table(
'manifestlist',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('digest', UTF8CharField(length=255), nullable=False),
sa.Column('manifest_list_json', UTF8LongText, nullable=False),
@ -87,7 +82,9 @@ def upgrade(tables):
)
op.create_index('manifestlist_digest', 'manifestlist', ['digest'], unique=True)
op.create_index('manifestlist_media_type_id', 'manifestlist', ['media_type_id'], unique=False)
op.create_table('bittorrentpieces',
op.create_table(
'bittorrentpieces',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('blob_id', sa.Integer(), nullable=False),
sa.Column('pieces', UTF8LongText, nullable=False),
@ -97,7 +94,9 @@ def upgrade(tables):
)
op.create_index('bittorrentpieces_blob_id', 'bittorrentpieces', ['blob_id'], unique=False)
op.create_index('bittorrentpieces_blob_id_piece_length', 'bittorrentpieces', ['blob_id', 'piece_length'], unique=True)
op.create_table('blobplacement',
op.create_table(
'blobplacement',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('blob_id', sa.Integer(), nullable=False),
sa.Column('location_id', sa.Integer(), nullable=False),
@ -108,7 +107,9 @@ def upgrade(tables):
op.create_index('blobplacement_blob_id', 'blobplacement', ['blob_id'], unique=False)
op.create_index('blobplacement_blob_id_location_id', 'blobplacement', ['blob_id', 'location_id'], unique=True)
op.create_index('blobplacement_location_id', 'blobplacement', ['location_id'], unique=False)
op.create_table('blobuploading',
op.create_table(
'blobuploading',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('uuid', UTF8CharField(length=255), nullable=False),
sa.Column('created', sa.DateTime(), nullable=False),
@ -130,7 +131,9 @@ def upgrade(tables):
op.create_index('blobuploading_repository_id', 'blobuploading', ['repository_id'], unique=False)
op.create_index('blobuploading_repository_id_uuid', 'blobuploading', ['repository_id', 'uuid'], unique=True)
op.create_index('blobuploading_uuid', 'blobuploading', ['uuid'], unique=True)
op.create_table('derivedimage',
op.create_table(
'derivedimage',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('uuid', UTF8CharField(length=255), nullable=False),
sa.Column('source_manifest_id', sa.Integer(), nullable=False),
@ -153,7 +156,9 @@ def upgrade(tables):
op.create_index('derivedimage_source_manifest_id_media_type_id_uniqueness_hash', 'derivedimage', ['source_manifest_id', 'media_type_id', 'uniqueness_hash'], unique=True)
op.create_index('derivedimage_uniqueness_hash', 'derivedimage', ['uniqueness_hash'], unique=True)
op.create_index('derivedimage_uuid', 'derivedimage', ['uuid'], unique=True)
op.create_table('manifestblob',
op.create_table(
'manifestblob',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('manifest_id', sa.Integer(), nullable=False),
sa.Column('blob_id', sa.Integer(), nullable=False),
@ -164,7 +169,9 @@ def upgrade(tables):
op.create_index('manifestblob_blob_id', 'manifestblob', ['blob_id'], unique=False)
op.create_index('manifestblob_manifest_id', 'manifestblob', ['manifest_id'], unique=False)
op.create_index('manifestblob_manifest_id_blob_id', 'manifestblob', ['manifest_id', 'blob_id'], unique=True)
op.create_table('manifestlabel',
op.create_table(
'manifestlabel',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('repository_id', sa.Integer(), nullable=False),
sa.Column('annotated_id', sa.Integer(), nullable=False),
@ -178,7 +185,9 @@ def upgrade(tables):
op.create_index('manifestlabel_label_id', 'manifestlabel', ['label_id'], unique=False)
op.create_index('manifestlabel_repository_id', 'manifestlabel', ['repository_id'], unique=False)
op.create_index('manifestlabel_repository_id_annotated_id_label_id', 'manifestlabel', ['repository_id', 'annotated_id', 'label_id'], unique=True)
op.create_table('manifestlayer',
op.create_table(
'manifestlayer',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('blob_id', sa.Integer(), nullable=False),
sa.Column('manifest_id', sa.Integer(), nullable=False),
@ -192,7 +201,9 @@ def upgrade(tables):
op.create_index('manifestlayer_manifest_id', 'manifestlayer', ['manifest_id'], unique=False)
op.create_index('manifestlayer_manifest_id_manifest_index', 'manifestlayer', ['manifest_id', 'manifest_index'], unique=True)
op.create_index('manifestlayer_manifest_index', 'manifestlayer', ['manifest_index'], unique=False)
op.create_table('manifestlistmanifest',
op.create_table(
'manifestlistmanifest',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('manifest_list_id', sa.Integer(), nullable=False),
sa.Column('manifest_id', sa.Integer(), nullable=False),
@ -210,7 +221,9 @@ def upgrade(tables):
op.create_index('manifestlistmanifest_manifest_listid_os_arch_mtid', 'manifestlistmanifest', ['manifest_list_id', 'operating_system', 'architecture', 'media_type_id'], unique=False)
op.create_index('manifestlistmanifest_manifest_listid_mtid', 'manifestlistmanifest', ['manifest_list_id', 'media_type_id'], unique=False)
op.create_index('manifestlistmanifest_media_type_id', 'manifestlistmanifest', ['media_type_id'], unique=False)
op.create_table('tag',
op.create_table(
'tag',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', UTF8CharField(length=255), nullable=False),
sa.Column('repository_id', sa.Integer(), nullable=False),
@ -236,7 +249,9 @@ def upgrade(tables):
op.create_index('tag_repository_id_name_lifetime_end_tag_kind_id', 'tag', ['repository_id', 'name', 'lifetime_end', 'tag_kind_id'], unique=True)
op.create_index('tag_repository_id_name_tag_kind_id', 'tag', ['repository_id', 'name', 'tag_kind_id'], unique=False)
op.create_index('tag_tag_kind_id', 'tag', ['tag_kind_id'], unique=False)
op.create_table('manifestlayerdockerv1',
op.create_table(
'manifestlayerdockerv1',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('manifest_layer_id', sa.Integer(), nullable=False),
sa.Column('image_id', UTF8CharField(length=255), nullable=False),
@ -247,7 +262,9 @@ def upgrade(tables):
)
op.create_index('manifestlayerdockerv1_image_id', 'manifestlayerdockerv1', ['image_id'], unique=False)
op.create_index('manifestlayerdockerv1_manifest_layer_id', 'manifestlayerdockerv1', ['manifest_layer_id'], unique=False)
op.create_table('manifestlayerscan',
op.create_table(
'manifestlayerscan',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('layer_id', sa.Integer(), nullable=False),
sa.Column('scannable', sa.Boolean(), nullable=False),
@ -256,22 +273,17 @@ def upgrade(tables):
sa.PrimaryKeyConstraint('id', name=op.f('pk_manifestlayerscan'))
)
op.create_index('manifestlayerscan_layer_id', 'manifestlayerscan', ['layer_id'], unique=True)
op.create_index('derivedstorageforimage_source_imageid_trid_uniq_hash', 'derivedstorageforimage', ['source_image_id', 'transformation_id', 'uniqueness_hash'], unique=True)
op.drop_index('uniqueness_index', table_name='derivedstorageforimage')
op.drop_column(u'imagestorage', 'checksum')
op.add_column(u'repository', sa.Column('repo_kind_id', sa.Integer(), nullable=False, server_default="1"))
op.create_index('repository_repo_kind_id', 'repository', ['repo_kind_id'], unique=False)
op.create_foreign_key(op.f('fk_repository_repo_kind_id_repositorykind'), 'repository', 'repositorykind', ['repo_kind_id'], ['id'])
op.bulk_insert(tables.blobplacementlocation,
op.bulk_insert(
tables.blobplacementlocation,
[
{'name': 'local_eu'},
{'name': 'local_us'},
])
],
)
op.bulk_insert(tables.mediatype,
op.bulk_insert(
tables.mediatype,
[
{'name': 'application/vnd.cnr.blob.v1.tar+gzip'},
{'name': 'application/vnd.cnr.package-manifest.helm.v1.json'},
@ -282,25 +294,20 @@ def upgrade(tables):
{'name': 'application/vnd.cnr.package.docker-compose.v1.tar+gzip'},
{'name': 'application/vnd.cnr.manifests.v1.json'},
{'name': 'application/vnd.cnr.manifest.list.v1.json'},
])
],
)
op.bulk_insert(tables.tagkind,
op.bulk_insert(
tables.tagkind,
[
{'name': 'tag', 'id': 1},
{'name': 'release', 'id': 2},
{'name': 'channel', 'id': 3},
])
### end Alembic commands ###
]
)
def downgrade(tables):
### commands auto generated by Alembic - please adjust! ###
op.drop_constraint(op.f('fk_repository_repo_kind_id_repositorykind'), 'repository', type_='foreignkey')
op.drop_column(u'repository', 'repo_kind_id')
op.add_column(u'imagestorage', sa.Column('checksum', mysql.VARCHAR(length=255), nullable=True))
op.create_index('uniqueness_index', 'derivedstorageforimage', ['source_image_id', 'transformation_id', 'uniqueness_hash'], unique=True)
op.drop_index('derivedstorageforimage_source_imageid_trid_uniq_hash', table_name='derivedstorageforimage')
op.drop_table('manifestlayerscan')
op.drop_table('manifestlayerdockerv1')
op.drop_table('tag')
@ -317,6 +324,4 @@ def downgrade(tables):
op.drop_table('blobplacementlocationpreference')
op.drop_table('blob')
op.drop_table('tagkind')
op.drop_table('repositorykind')
op.drop_table('blobplacementlocation')
### end Alembic commands ###