[copr] master: Add MockChroot model and its realtion to copr (4e21328)

bkabrda at fedoraproject.org bkabrda at fedoraproject.org
Tue Jan 15 11:05:57 UTC 2013


Repository : http://git.fedorahosted.org/cgit/copr.git

On branch  : master

>---------------------------------------------------------------

commit 4e213282c11f8b490054be269b651f67232ef87f
Author: Bohuslav Kabrda <bkabrda at redhat.com>
Date:   Mon Jan 14 09:19:33 2013 +0100

    Add MockChroot model and its realtion to copr


>---------------------------------------------------------------

 coprs_frontend/alembic/versions/2fa80e062525_.py |   40 ++++++++++++++++++++++
 coprs_frontend/coprs/models.py                   |   16 +++++++++
 2 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/coprs_frontend/alembic/versions/2fa80e062525_.py b/coprs_frontend/alembic/versions/2fa80e062525_.py
new file mode 100644
index 0000000..b56b134
--- /dev/null
+++ b/coprs_frontend/alembic/versions/2fa80e062525_.py
@@ -0,0 +1,40 @@
+"""empty message
+
+Revision ID: 2fa80e062525
+Revises: 2e30169e58ce
+Create Date: 2013-01-14 09:04:42.768432
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '2fa80e062525'
+down_revision = '2e30169e58ce'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+    ### commands auto generated by Alembic - please adjust! ###
+    op.create_table('mock_chroot',
+    sa.Column('id', sa.Integer(), nullable=False),
+    sa.Column('os_release', sa.String(length=50), nullable=False),
+    sa.Column('os_version', sa.String(length=50), nullable=False),
+    sa.Column('arch', sa.String(length=50), nullable=False),
+    sa.PrimaryKeyConstraint('id')
+    )
+    op.create_table('copr_chroot',
+    sa.Column('mock_chroot_id', sa.Integer(), nullable=False),
+    sa.Column('copr_id', sa.Integer(), nullable=False),
+    sa.ForeignKeyConstraint(['copr_id'], ['copr.id'], ),
+    sa.ForeignKeyConstraint(['mock_chroot_id'], ['mock_chroot.id'], ),
+    sa.PrimaryKeyConstraint('mock_chroot_id', 'copr_id')
+    )
+    ### end Alembic commands ###
+
+
+def downgrade():
+    ### commands auto generated by Alembic - please adjust! ###
+    op.drop_table('copr_chroot')
+    op.drop_table('mock_chroot')
+    ### end Alembic commands ###
diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py
index 9393c5c..fa5cc4a 100644
--- a/coprs_frontend/coprs/models.py
+++ b/coprs_frontend/coprs/models.py
@@ -181,3 +181,19 @@ class Build(db.Model, Serializer):
     @property
     def cancelable(self):
         return self.state == 'pending'
+
+class MockChroot(db.Model, Serializer):
+    id = db.Column(db.Integer, primary_key = True)
+    os_release = db.Column(db.String(50), nullable = False) # fedora/epel/...
+    os_version = db.Column(db.String(50), nullable = False) # 18/rawhide/...
+    arch = db.Column(db.String(50), nullable = False) # x86_64/i686/...
+
+    @property
+    def chroot_name(self):
+        return '{0}-{1}-{2}'.format(self.os_release, self.os_version, self.arch)
+
+class CoprChroot(db.Model, Serializer):
+    mock_chroot_id = db.Column(db.Integer, db.ForeignKey('mock_chroot.id'), primary_key = True)
+    mock_chroot = db.relationship('MockChroot', backref = db.backref('coprs'))
+    copr_id = db.Column(db.Integer, db.ForeignKey('copr.id'), primary_key = True)
+    copr = db.relationship('Copr', backref = db.backref('mock_chroots'))



More information about the copr-devel mailing list