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/c6edf87b8bff_added_tables_f...

104 lines
5.4 KiB

"""Added tables for Solar data and authentication.
Revision ID: c6edf87b8bff
Revises: a846faa2b908
Create Date: 2021-05-03 10:12:50.632988
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision = 'c6edf87b8bff'
down_revision = 'a846faa2b908'
branch_labels = None
depends_on = None
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('upload_solar')
op.drop_table('institution')
op.drop_table('stamps')
op.drop_table('registered_user')
op.drop_column('upload_regular', 'corpus_name')
# ### end Alembic commands ###
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('upload_regular', sa.Column('corpus_name', sa.TEXT(), autoincrement=False, nullable=False))
op.create_table('institution',
sa.Column('id', sa.INTEGER(), server_default=sa.text("nextval('institution_id_seq'::regclass)"), autoincrement=True, nullable=False),
sa.Column('name', sa.TEXT(), autoincrement=False, nullable=False),
sa.Column('region', sa.TEXT(), autoincrement=False, nullable=False),
sa.Column('file_contract', sa.TEXT(), autoincrement=False, nullable=True),
sa.PrimaryKeyConstraint('id', name='institution_pkey'),
postgresql_ignore_search_path=False
)
op.create_table('registered_user',
sa.Column('id', sa.INTEGER(), server_default=sa.text("nextval('registered_user_id_seq'::regclass)"), autoincrement=True, nullable=False),
sa.Column('name', sa.TEXT(), autoincrement=False, nullable=False),
sa.Column('email', sa.TEXT(), autoincrement=False, nullable=False),
sa.Column('role', sa.TEXT(), autoincrement=False, nullable=False),
sa.Column('pass_hash', sa.TEXT(), autoincrement=False, nullable=False),
sa.Column('active', sa.BOOLEAN(), autoincrement=False, nullable=True),
sa.Column('last_login', postgresql.TIMESTAMP(), autoincrement=False, nullable=True),
sa.Column('registered', postgresql.TIMESTAMP(), autoincrement=False, nullable=True),
sa.Column('institution', sa.INTEGER(), autoincrement=False, nullable=True),
sa.ForeignKeyConstraint(['institution'], ['institution.id'], name='registered_user_institution_fkey'),
sa.PrimaryKeyConstraint('id', name='registered_user_pkey'),
postgresql_ignore_search_path=False
)
op.create_table('stamps',
sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False),
sa.Column('institution', sa.INTEGER(), autoincrement=False, nullable=True),
sa.Column('name', sa.TEXT(), autoincrement=False, nullable=False),
sa.Column('file_logo', sa.TEXT(), autoincrement=False, nullable=True),
sa.ForeignKeyConstraint(['institution'], ['institution.id'], name='stamps_institution_fkey'),
sa.PrimaryKeyConstraint('id', name='stamps_pkey')
)
op.create_table('upload_solar',
sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False),
sa.Column('upload_user', sa.INTEGER(), autoincrement=False, nullable=True),
sa.Column('institution', sa.INTEGER(), autoincrement=False, nullable=True),
sa.Column('upload_hash', sa.TEXT(), autoincrement=False, nullable=False),
sa.Column('timestamp', postgresql.TIMESTAMP(), autoincrement=False, nullable=False),
sa.Column('corpus_name', sa.TEXT(), autoincrement=False, nullable=False),
sa.Column('program', sa.TEXT(), autoincrement=False, nullable=True),
sa.Column('subject', sa.TEXT(), autoincrement=False, nullable=True),
sa.Column('subject_custom', sa.TEXT(), autoincrement=False, nullable=True),
sa.Column('grade', sa.INTEGER(), autoincrement=False, nullable=True),
sa.Column('text_type', sa.TEXT(), autoincrement=False, nullable=True),
sa.Column('text_type_custom', sa.TEXT(), autoincrement=False, nullable=True),
sa.Column('school_year', sa.TEXT(), autoincrement=False, nullable=True),
sa.Column('grammar_corrections', sa.TEXT(), autoincrement=False, nullable=True),
sa.Column('upload_file_hashes', sa.ARRAY(sa.String()), nullable=True),
sa.ForeignKeyConstraint(['upload_user'], ['registered_user.id'], name='upload_upload_user_fkey'),
sa.ForeignKeyConstraint(['institution'], ['institution.id'], name='upload_institution_fkey'),
sa.PrimaryKeyConstraint('id', name='upload_pkey')
)
# Insert default admin user with username "admin" and pass "portal-admin".
op.execute('INSERT INTO registered_user(name, email, role, pass_hash, active) VALUES (\'admin\', \'admin@cjvt.si\', \'admin\', \'pbkdf2:sha256:150000$aPRDrEqF$f27256d6d57001770feb9e7012ea27252f4a3e5ea9989931368e466d798679ff\', TRUE);')
op.create_table('upload_predavanja',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('upload_hash', sa.String(), nullable=False),
sa.Column('timestamp', sa.DateTime(), nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('address', sa.String(), nullable=False),
sa.Column('subject', sa.String(), nullable=False),
sa.Column('faculty', sa.String(), nullable=False),
sa.Column('email', sa.String(), nullable=False),
sa.Column('phone', sa.String(), nullable=True),
sa.Column('keywords', sa.String(), nullable=False),
sa.Column('agree_publish', sa.Boolean(), nullable=False),
sa.Column('file_contract', sa.String(), nullable=True),
sa.Column('upload_file_hashes', sa.ARRAY(sa.String()), nullable=True),
sa.PrimaryKeyConstraint('id')
)
# ### end Alembic commands ###