You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
portal-oddajanje-solar/migrations/versions/5ba116fc7f06_changed_user_i...

67 lines
3.1 KiB

"""Changed user<->institution<->corpus relational mapping.
Revision ID: 5ba116fc7f06
Revises: 7d6db184b8fc
Create Date: 2021-06-07 13:02:42.900168
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '5ba116fc7f06'
down_revision = '7d6db184b8fc'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('institution_contract',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('institution', sa.Integer(), nullable=False),
sa.Column('corpus', sa.String(), nullable=False),
sa.Column('timestamp', sa.DateTime(), nullable=False),
sa.Column('file_contract', sa.String(), nullable=True),
sa.ForeignKeyConstraint(['institution'], ['institution.id'], ),
sa.PrimaryKeyConstraint('id')
)
op.create_table('user_institution_mapping',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('user', sa.Integer(), nullable=False),
sa.Column('institution', sa.Integer(), nullable=False),
sa.Column('role', sa.String(), nullable=False),
sa.ForeignKeyConstraint(['institution'], ['institution.id'], ),
sa.ForeignKeyConstraint(['user'], ['registered_user.id'], ),
sa.PrimaryKeyConstraint('id')
)
op.add_column('corpus_access', sa.Column('institution', sa.Integer(), nullable=False))
op.drop_constraint('user_id_fkey', 'corpus_access', type_='foreignkey')
op.create_foreign_key(None, 'corpus_access', 'institution', ['institution'], ['id'])
op.drop_column('corpus_access', 'user_id')
op.create_unique_constraint(None, 'institution', ['name'])
op.drop_column('institution', 'file_contract')
op.create_unique_constraint(None, 'registered_user', ['email'])
op.drop_constraint('registered_user_institution_fkey', 'registered_user', type_='foreignkey')
op.drop_column('registered_user', 'institution_moderator')
op.drop_column('registered_user', 'institution')
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('registered_user', sa.Column('institution', sa.INTEGER(), autoincrement=False, nullable=True))
op.add_column('registered_user', sa.Column('institution_moderator', sa.BOOLEAN(), autoincrement=False, nullable=True))
op.create_foreign_key('registered_user_institution_fkey', 'registered_user', 'institution', ['institution'], ['id'])
op.drop_constraint(None, 'registered_user', type_='unique')
op.add_column('institution', sa.Column('file_contract', sa.TEXT(), autoincrement=False, nullable=True))
op.drop_constraint(None, 'institution', type_='unique')
op.add_column('corpus_access', sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=False))
op.drop_constraint(None, 'corpus_access', type_='foreignkey')
op.create_foreign_key('user_id_fkey', 'corpus_access', 'registered_user', ['user_id'], ['id'])
op.drop_column('corpus_access', 'institution')
op.drop_table('user_institution_mapping')
op.drop_table('institution_contract')
# ### end Alembic commands ###