From 4c2a8391c5c241941684ac3aaa973dbb8164466a Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Jan 23 2017 11:35:15 +0000 Subject: [frontend] ensure mock triplets are unique WARNING! This migration script fails if there are duplicates already. Related to pull-request #27. --- diff --git a/frontend/coprs_frontend/alembic/versions/4af9d157c4ea_add_unique_constraint_for_mock_chroots.py b/frontend/coprs_frontend/alembic/versions/4af9d157c4ea_add_unique_constraint_for_mock_chroots.py new file mode 100644 index 0000000..fb57e34 --- /dev/null +++ b/frontend/coprs_frontend/alembic/versions/4af9d157c4ea_add_unique_constraint_for_mock_chroots.py @@ -0,0 +1,20 @@ +"""add unique constraint for mock chroots + +Revision ID: 4af9d157c4ea +Revises: 3b67c52f5277 +Create Date: 2017-01-20 16:44:30.473253 + +""" + +# revision identifiers, used by Alembic. +revision = '4af9d157c4ea' +down_revision = '3b67c52f5277' + +from alembic import op +import sqlalchemy as sa + +def upgrade(): + op.create_unique_constraint('mock_chroot_uniq', 'mock_chroot', ['os_release', 'os_version', 'arch']) + +def downgrade(): + op.drop_constraint('mock_chroot_uniq', 'mock_chroot', type_='unique') diff --git a/frontend/coprs_frontend/coprs/models.py b/frontend/coprs_frontend/coprs/models.py index 0d56c8c..eb77c0a 100644 --- a/frontend/coprs_frontend/coprs/models.py +++ b/frontend/coprs_frontend/coprs/models.py @@ -766,6 +766,9 @@ class MockChroot(db.Model, helpers.Serializer): """ Representation of mock chroot """ + __table_args__ = ( + db.UniqueConstraint('os_release', 'os_version', 'arch', name='mock_chroot_uniq'), + ) id = db.Column(db.Integer, primary_key=True) # fedora/epel/..., mandatory