diff --git a/data/database.py b/data/database.py index 1ca74698a..a4adabc7b 100644 --- a/data/database.py +++ b/data/database.py @@ -582,8 +582,9 @@ class RepositoryTag(BaseModel): class TagManifest(BaseModel): - tag = ForeignKeyField(RepositoryTag) - digest = CharField(index=True) + tag = ForeignKeyField(RepositoryTag, index=True, unique=True) + digest = CharField(index=True, unique=True) + json_data = TextField() class BUILD_PHASE(object): diff --git a/data/migrations/versions/2e09ad97b06c_add_missing_tag_manifest_table.py b/data/migrations/versions/2e09ad97b06c_add_missing_tag_manifest_table.py new file mode 100644 index 000000000..9659ba2ae --- /dev/null +++ b/data/migrations/versions/2e09ad97b06c_add_missing_tag_manifest_table.py @@ -0,0 +1,35 @@ +"""Add missing tag manifest table + +Revision ID: 2e09ad97b06c +Revises: 2bf8af5bad95 +Create Date: 2015-07-22 16:10:42.549566 + +""" + +# revision identifiers, used by Alembic. +revision = '2e09ad97b06c' +down_revision = '2bf8af5bad95' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(tables): + ### commands auto generated by Alembic - please adjust! ### + op.create_table('tagmanifest', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('tag_id', sa.Integer(), nullable=False), + sa.Column('digest', sa.String(length=255), nullable=False), + sa.Column('json_data', sa.Text(), nullable=False), + sa.ForeignKeyConstraint(['tag_id'], ['repositorytag.id'], name=op.f('fk_tagmanifest_tag_id_repositorytag')), + sa.PrimaryKeyConstraint('id', name=op.f('pk_tagmanifest')) + ) + op.create_index('tagmanifest_digest', 'tagmanifest', ['digest'], unique=True) + op.create_index('tagmanifest_tag_id', 'tagmanifest', ['tag_id'], unique=True) + ### end Alembic commands ### + + +def downgrade(tables): + ### commands auto generated by Alembic - please adjust! ### + op.drop_table('tagmanifest') + ### end Alembic commands ###