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.
67 lines
3.1 KiB
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 ###
|