Loading migrations/versions/afe5364da618_.pydeleted 100644 → 0 +0 −30 Original line number Original line Diff line number Diff line """empty message Revision ID: afe5364da618 Revises: f2cb9f5ed836 Create Date: 2018-06-01 20:09:55.592525 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = 'afe5364da618' down_revision = 'f2cb9f5ed836' branch_labels = None depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('submission', sa.Column('process_task_id', sa.String(length=36), nullable=True)) op.add_column('submission', sa.Column('storage_task_id', sa.String(length=36), nullable=True)) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_column('submission', 'storage_task_id') op.drop_column('submission', 'process_task_id') # ### end Alembic commands ### portal/database/mixins.py +1 −0 Original line number Original line Diff line number Diff line Loading @@ -16,3 +16,4 @@ class EntityBase(object): EXCLUDED = [] EXCLUDED = [] created_at = db.Column(db.TIMESTAMP, default=db.func.now()) created_at = db.Column(db.TIMESTAMP, default=db.func.now()) updated_at = db.Column(db.TIMESTAMP, default=db.func.now(), onupdate=db.func.now()) updated_at = db.Column(db.TIMESTAMP, default=db.func.now(), onupdate=db.func.now()) portal/database/models.py +937 −933 Original line number Original line Diff line number Diff line Loading @@ -262,6 +262,7 @@ class Course(db.Model, EntityBase): name = db.Column(db.String(50), unique=True, nullable=False) name = db.Column(db.String(50), unique=True, nullable=False) codename = db.Column(db.String(15), unique=True, nullable=False) codename = db.Column(db.String(15), unique=True, nullable=False) notes_access_token = db.Column(db.String(256)) notes_access_token = db.Column(db.String(256)) description = db.Column(db.Text) roles = db.relationship("Role", back_populates="course", cascade="all, delete-orphan", roles = db.relationship("Role", back_populates="course", cascade="all, delete-orphan", passive_deletes=True) passive_deletes=True) Loading Loading @@ -363,6 +364,7 @@ class Project(db.Model, EntityBase): id = db.Column(db.String(length=36), default=lambda: str(uuid.uuid4()), primary_key=True) id = db.Column(db.String(length=36), default=lambda: str(uuid.uuid4()), primary_key=True) name = db.Column(db.String(50), nullable=False) name = db.Column(db.String(50), nullable=False) description = db.Column(db.Text) description = db.Column(db.Text) assignment_url = db.Column(db.Text) config = db.relationship("ProjectConfig", back_populates="project", uselist=False, config = db.relationship("ProjectConfig", back_populates="project", uselist=False, cascade="all, delete-orphan", passive_deletes=True) cascade="all, delete-orphan", passive_deletes=True) Loading Loading @@ -688,7 +690,8 @@ class Group(db.Model, EntityBase): __tablename__ = 'group' __tablename__ = 'group' EXCLUDED = ['course', 'users', 'projects'] EXCLUDED = ['course', 'users', 'projects'] id = db.Column(db.String(length=36), default=lambda: str(uuid.uuid4()), primary_key=True) id = db.Column(db.String(length=36), default=lambda: str(uuid.uuid4()), primary_key=True) name = db.Column(db.String(20), nullable=False) name = db.Column(db.String(50), nullable=False) description = db.Column(db.Text) course_id = db.Column(db.String(36), db.ForeignKey('course.id'), nullable=False) course_id = db.Column(db.String(36), db.ForeignKey('course.id'), nullable=False) course = db.relationship("Course", back_populates="groups", uselist=False) course = db.relationship("Course", back_populates="groups", uselist=False) users = db.relationship("User", secondary="users_groups") users = db.relationship("User", secondary="users_groups") Loading Loading @@ -905,6 +908,7 @@ class Component(db.Model, EntityBase): return self.id == other.id return self.id == other.id # source: http://docs.sqlalchemy.org/en/latest/orm/events.html # source: http://docs.sqlalchemy.org/en/latest/orm/events.html @event.listens_for(Submission.user_id, 'set', named=True) @event.listens_for(Submission.user_id, 'set', named=True) def receive_set(**kw): def receive_set(**kw): Loading Loading
migrations/versions/afe5364da618_.pydeleted 100644 → 0 +0 −30 Original line number Original line Diff line number Diff line """empty message Revision ID: afe5364da618 Revises: f2cb9f5ed836 Create Date: 2018-06-01 20:09:55.592525 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = 'afe5364da618' down_revision = 'f2cb9f5ed836' branch_labels = None depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('submission', sa.Column('process_task_id', sa.String(length=36), nullable=True)) op.add_column('submission', sa.Column('storage_task_id', sa.String(length=36), nullable=True)) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_column('submission', 'storage_task_id') op.drop_column('submission', 'process_task_id') # ### end Alembic commands ###
portal/database/mixins.py +1 −0 Original line number Original line Diff line number Diff line Loading @@ -16,3 +16,4 @@ class EntityBase(object): EXCLUDED = [] EXCLUDED = [] created_at = db.Column(db.TIMESTAMP, default=db.func.now()) created_at = db.Column(db.TIMESTAMP, default=db.func.now()) updated_at = db.Column(db.TIMESTAMP, default=db.func.now(), onupdate=db.func.now()) updated_at = db.Column(db.TIMESTAMP, default=db.func.now(), onupdate=db.func.now())
portal/database/models.py +937 −933 Original line number Original line Diff line number Diff line Loading @@ -262,6 +262,7 @@ class Course(db.Model, EntityBase): name = db.Column(db.String(50), unique=True, nullable=False) name = db.Column(db.String(50), unique=True, nullable=False) codename = db.Column(db.String(15), unique=True, nullable=False) codename = db.Column(db.String(15), unique=True, nullable=False) notes_access_token = db.Column(db.String(256)) notes_access_token = db.Column(db.String(256)) description = db.Column(db.Text) roles = db.relationship("Role", back_populates="course", cascade="all, delete-orphan", roles = db.relationship("Role", back_populates="course", cascade="all, delete-orphan", passive_deletes=True) passive_deletes=True) Loading Loading @@ -363,6 +364,7 @@ class Project(db.Model, EntityBase): id = db.Column(db.String(length=36), default=lambda: str(uuid.uuid4()), primary_key=True) id = db.Column(db.String(length=36), default=lambda: str(uuid.uuid4()), primary_key=True) name = db.Column(db.String(50), nullable=False) name = db.Column(db.String(50), nullable=False) description = db.Column(db.Text) description = db.Column(db.Text) assignment_url = db.Column(db.Text) config = db.relationship("ProjectConfig", back_populates="project", uselist=False, config = db.relationship("ProjectConfig", back_populates="project", uselist=False, cascade="all, delete-orphan", passive_deletes=True) cascade="all, delete-orphan", passive_deletes=True) Loading Loading @@ -688,7 +690,8 @@ class Group(db.Model, EntityBase): __tablename__ = 'group' __tablename__ = 'group' EXCLUDED = ['course', 'users', 'projects'] EXCLUDED = ['course', 'users', 'projects'] id = db.Column(db.String(length=36), default=lambda: str(uuid.uuid4()), primary_key=True) id = db.Column(db.String(length=36), default=lambda: str(uuid.uuid4()), primary_key=True) name = db.Column(db.String(20), nullable=False) name = db.Column(db.String(50), nullable=False) description = db.Column(db.Text) course_id = db.Column(db.String(36), db.ForeignKey('course.id'), nullable=False) course_id = db.Column(db.String(36), db.ForeignKey('course.id'), nullable=False) course = db.relationship("Course", back_populates="groups", uselist=False) course = db.relationship("Course", back_populates="groups", uselist=False) users = db.relationship("User", secondary="users_groups") users = db.relationship("User", secondary="users_groups") Loading Loading @@ -905,6 +908,7 @@ class Component(db.Model, EntityBase): return self.id == other.id return self.id == other.id # source: http://docs.sqlalchemy.org/en/latest/orm/events.html # source: http://docs.sqlalchemy.org/en/latest/orm/events.html @event.listens_for(Submission.user_id, 'set', named=True) @event.listens_for(Submission.user_id, 'set', named=True) def receive_set(**kw): def receive_set(**kw): Loading