Beispiel #1
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('info_category',
    sa.Column('create_time', sa.DateTime(), nullable=True),
    sa.Column('update_time', sa.DateTime(), nullable=True),
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(length=64), nullable=False),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('info_user',
    sa.Column('create_time', sa.DateTime(), nullable=True),
    sa.Column('update_time', sa.DateTime(), nullable=True),
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('nick_name', sa.String(length=32), nullable=False),
    sa.Column('password_hash', sa.String(length=128), nullable=False),
    sa.Column('mobile', sa.String(length=11), nullable=False),
    sa.Column('avatar_url', sa.String(length=256), nullable=True),
    sa.Column('last_login', sa.DateTime(), nullable=True),
    sa.Column('is_admin', sa.Boolean(), nullable=True),
    sa.Column('signature', sa.String(length=512), nullable=True),
    sa.Column('gender', sa.Enum('MAN', 'WOMAN'), nullable=True),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('mobile'),
    sa.UniqueConstraint('nick_name')
    )
    op.create_table('info_news',
    sa.Column('create_time', sa.DateTime(), nullable=True),
    sa.Column('update_time', sa.DateTime(), nullable=True),
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('title', sa.String(length=256), nullable=False),
    sa.Column('source', sa.String(length=64), nullable=False),
    sa.Column('digest', sa.String(length=512), nullable=False),
    sa.Column('content', sa.Text(), nullable=False),
    sa.Column('clicks', sa.Integer(), nullable=True),
    sa.Column('comments_count', sa.Integer(), nullable=True),
    sa.Column('index_image_url', sa.String(length=256), nullable=True),
    sa.Column('category_id', sa.Integer(), nullable=True),
    sa.Column('user_id', sa.Integer(), nullable=True),
    sa.Column('status', sa.Integer(), nullable=True),
    sa.Column('reason', sa.String(length=256), nullable=True),
    sa.ForeignKeyConstraint(['category_id'], ['info_category.id'], ),
    sa.ForeignKeyConstraint(['user_id'], ['info_user.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('info_user_fans',
    sa.Column('follower_id', sa.Integer(), nullable=False),
    sa.Column('followed_id', sa.Integer(), nullable=False),
    sa.ForeignKeyConstraint(['followed_id'], ['info_user.id'], ),
    sa.ForeignKeyConstraint(['follower_id'], ['info_user.id'], ),
    sa.PrimaryKeyConstraint('follower_id', 'followed_id')
    )
    op.create_table('info_comment',
    sa.Column('create_time', sa.DateTime(), nullable=True),
    sa.Column('update_time', sa.DateTime(), nullable=True),
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('user_id', sa.Integer(), nullable=False),
    sa.Column('news_id', sa.Integer(), nullable=False),
    sa.Column('content', sa.Text(), nullable=False),
    sa.Column('parent_id', sa.Integer(), nullable=True),
    sa.Column('like_count', sa.Integer(), nullable=True),
    sa.ForeignKeyConstraint(['news_id'], ['info_news.id'], ),
    sa.ForeignKeyConstraint(['parent_id'], ['info_comment.id'], ),
    sa.ForeignKeyConstraint(['user_id'], ['info_user.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('info_user_collection',
    sa.Column('user_id', sa.Integer(), nullable=False),
    sa.Column('news_id', sa.Integer(), nullable=False),
    sa.Column('create_time', sa.DateTime(), nullable=True),
    sa.ForeignKeyConstraint(['news_id'], ['info_news.id'], ),
    sa.ForeignKeyConstraint(['user_id'], ['info_user.id'], ),
    sa.PrimaryKeyConstraint('user_id', 'news_id')
    )
    op.create_table('info_comment_like',
    sa.Column('create_time', sa.DateTime(), nullable=True),
    sa.Column('update_time', sa.DateTime(), nullable=True),
    sa.Column('comment_id', sa.Integer(), nullable=False),
    sa.Column('user_id', sa.Integer(), nullable=False),
    sa.ForeignKeyConstraint(['comment_id'], ['info_comment.id'], ),
    sa.ForeignKeyConstraint(['user_id'], ['info_user.id'], ),
    sa.PrimaryKeyConstraint('comment_id', 'user_id')
    )
Beispiel #2
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('roles', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(length=64), nullable=True),
                    sa.Column('default', sa.Boolean(), nullable=True),
                    sa.Column('permissions', sa.Integer(), nullable=True),
                    sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name'))
    op.create_index(op.f('ix_roles_default'),
                    'roles', ['default'],
                    unique=False)
    op.create_table(
        'user', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('role_id', sa.Integer(), nullable=True),
        sa.Column('username', sa.String(length=20), nullable=False),
        sa.Column('email', sa.String(length=120), nullable=False),
        sa.Column('image_file', sa.String(length=20), nullable=False),
        sa.Column('password', sa.String(length=60), nullable=False),
        sa.Column('about_me', sa.String(length=140), nullable=True),
        sa.Column('gender', sa.String(length=5), nullable=True),
        sa.Column('contact_number', sa.Integer(), nullable=True),
        sa.Column('education_level', sa.String(length=60), nullable=True),
        sa.Column('date_of_birth', sa.DateTime(), nullable=True),
        sa.Column('last_seen', sa.DateTime(), nullable=True),
        sa.Column('member_since', sa.DateTime(), nullable=True),
        sa.ForeignKeyConstraint(
            ['role_id'],
            ['roles.id'],
        ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('email'))
    op.create_index(op.f('ix_user_username'),
                    'user', ['username'],
                    unique=True)
    op.create_table('achievements',
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=False),
                    sa.Column('medal_count', sa.Integer(), nullable=True),
                    sa.Column('timestamp', sa.DateTime(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['user.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_achievements_timestamp'),
                    'achievements', ['timestamp'],
                    unique=False)
    op.create_table('address', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=False),
                    sa.Column('street', sa.Text(), nullable=True),
                    sa.Column('city', sa.Text(), nullable=True),
                    sa.Column('country', sa.Text(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['user.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('follows',
                    sa.Column('follower_id', sa.Integer(), nullable=False),
                    sa.Column('followed_id', sa.Integer(), nullable=False),
                    sa.Column('timestamp', sa.DateTime(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['followed_id'],
                        ['user.id'],
                    ), sa.ForeignKeyConstraint(
                        ['follower_id'],
                        ['user.id'],
                    ), sa.PrimaryKeyConstraint('follower_id', 'followed_id'))
    op.create_table('intrest', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=False),
                    sa.Column('intrest_type', sa.Text(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['user.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('language', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=False),
                    sa.Column('language', sa.String(), nullable=True),
                    sa.Column('language_accuracy', sa.String(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['user.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('links', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=False),
                    sa.Column('facebook_id', sa.Text(), nullable=True),
                    sa.Column('twitter_id', sa.Text(), nullable=True),
                    sa.Column('instagram_id', sa.Text(), nullable=True),
                    sa.Column('snapchat_id', sa.Text(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['user.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('media', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=False),
                    sa.Column('media_name', sa.String(), nullable=True),
                    sa.Column('media_format', sa.String(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['user.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'occupation', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('user_id', sa.Integer(), nullable=False),
        sa.Column('occupation_name', sa.Text(), nullable=True),
        sa.Column('occupation_description', sa.Text(), nullable=True),
        sa.Column('occupation_start_date', sa.DateTime(), nullable=True),
        sa.Column('occupation_end_date', sa.DateTime(), nullable=True),
        sa.Column('ocumpation_compay', sa.Text(), nullable=True),
        sa.ForeignKeyConstraint(
            ['user_id'],
            ['user.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_occupation_occupation_end_date'),
                    'occupation', ['occupation_end_date'],
                    unique=False)
    op.create_index(op.f('ix_occupation_occupation_start_date'),
                    'occupation', ['occupation_start_date'],
                    unique=False)
    op.create_table(
        'post', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('user_id', sa.Integer(), nullable=False),
        sa.Column('city', sa.String(length=50), nullable=False),
        sa.Column('category', sa.String(length=50), nullable=False),
        sa.Column('story_line', sa.String(length=500), nullable=False),
        sa.Column('story_text', sa.Text(), nullable=False),
        sa.Column('youtube_link', sa.String(length=500), nullable=True),
        sa.Column('date_posted', sa.DateTime(), nullable=False),
        sa.ForeignKeyConstraint(
            ['user_id'],
            ['user.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'special_event', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('user_id', sa.Integer(), nullable=False),
        sa.Column('life_event', sa.String(), nullable=True),
        sa.Column('life_event_start_date', sa.DateTime(), nullable=True),
        sa.Column('life_event_end_date', sa.DateTime(), nullable=True),
        sa.ForeignKeyConstraint(
            ['user_id'],
            ['user.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_special_event_life_event_end_date'),
                    'special_event', ['life_event_end_date'],
                    unique=False)
    op.create_index(op.f('ix_special_event_life_event_start_date'),
                    'special_event', ['life_event_start_date'],
                    unique=False)
    op.create_table(
        'sponsership', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('user_id', sa.Integer(), nullable=False),
        sa.Column('sponser_type', sa.String(), nullable=True),
        sa.Column('sponser_name', sa.String(), nullable=True),
        sa.Column('sponsership_start_date', sa.DateTime(), nullable=True),
        sa.Column('sponsership_end_date', sa.DateTime(), nullable=True),
        sa.ForeignKeyConstraint(
            ['user_id'],
            ['user.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_sponsership_sponsership_end_date'),
                    'sponsership', ['sponsership_end_date'],
                    unique=False)
    op.create_index(op.f('ix_sponsership_sponsership_start_date'),
                    'sponsership', ['sponsership_start_date'],
                    unique=False)
    op.create_table('travel', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=False),
                    sa.Column('place', sa.String(), nullable=True),
                    sa.Column('start_date', sa.DateTime(), nullable=True),
                    sa.Column('end_date', sa.DateTime(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['user.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_travel_end_date'),
                    'travel', ['end_date'],
                    unique=False)
    op.create_index(op.f('ix_travel_start_date'),
                    'travel', ['start_date'],
                    unique=False)
    op.create_table('comments', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('body', sa.Text(), nullable=True),
                    sa.Column('body_html', sa.Text(), nullable=True),
                    sa.Column('timestamp', sa.DateTime(), nullable=True),
                    sa.Column('disabled', sa.Boolean(), nullable=True),
                    sa.Column('author_id', sa.Integer(), nullable=True),
                    sa.Column('post_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['author_id'],
                        ['user.id'],
                    ), sa.ForeignKeyConstraint(
                        ['post_id'],
                        ['post.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_comments_timestamp'),
                    'comments', ['timestamp'],
                    unique=False)
    op.create_table(
        'events', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('user_id', sa.Integer(), nullable=False),
        sa.Column('event_name', sa.String(), nullable=True),
        sa.Column('event_description', sa.String(), nullable=True),
        sa.Column('event_location', sa.String(), nullable=True),
        sa.Column('event_start_date', sa.DateTime(), nullable=True),
        sa.Column('event_end_date', sa.DateTime(), nullable=True),
        sa.Column('event_status', sa.Boolean(), nullable=True),
        sa.Column('media_id', sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(
            ['media_id'],
            ['media.id'],
        ), sa.ForeignKeyConstraint(
            ['user_id'],
            ['user.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_events_event_end_date'),
                    'events', ['event_end_date'],
                    unique=False)
    op.create_index(op.f('ix_events_event_start_date'),
                    'events', ['event_start_date'],
                    unique=False)
def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'alternative_version',
        sa.Column('id', sa.Integer(), autoincrement=False, nullable=False),
        sa.Column('text', sa.String(), autoincrement=False, nullable=True),
        sa.Column('correct', sa.Boolean(), autoincrement=False, nullable=True),
        sa.Column('question_id',
                  sa.Integer(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('transaction_id',
                  sa.BigInteger(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('end_transaction_id', sa.BigInteger(), nullable=True),
        sa.Column('operation_type', sa.SmallInteger(), nullable=False),
        sa.PrimaryKeyConstraint('id', 'transaction_id'))
    op.create_index(op.f('ix_alternative_version_end_transaction_id'),
                    'alternative_version', ['end_transaction_id'],
                    unique=False)
    op.create_index(op.f('ix_alternative_version_operation_type'),
                    'alternative_version', ['operation_type'],
                    unique=False)
    op.create_index(op.f('ix_alternative_version_transaction_id'),
                    'alternative_version', ['transaction_id'],
                    unique=False)
    op.create_table('course', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('code', sa.String(length=80), nullable=False),
                    sa.Column('name', sa.String(length=120), nullable=False),
                    sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('code'))
    op.create_table(
        'course_version',
        sa.Column('id', sa.Integer(), autoincrement=False, nullable=False),
        sa.Column('code',
                  sa.String(length=80),
                  autoincrement=False,
                  nullable=True),
        sa.Column('name',
                  sa.String(length=120),
                  autoincrement=False,
                  nullable=True),
        sa.Column('transaction_id',
                  sa.BigInteger(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('end_transaction_id', sa.BigInteger(), nullable=True),
        sa.Column('operation_type', sa.SmallInteger(), nullable=False),
        sa.PrimaryKeyConstraint('id', 'transaction_id'))
    op.create_index(op.f('ix_course_version_end_transaction_id'),
                    'course_version', ['end_transaction_id'],
                    unique=False)
    op.create_index(op.f('ix_course_version_operation_type'),
                    'course_version', ['operation_type'],
                    unique=False)
    op.create_index(op.f('ix_course_version_transaction_id'),
                    'course_version', ['transaction_id'],
                    unique=False)
    op.create_table(
        'exam_version',
        sa.Column('id', sa.Integer(), autoincrement=False, nullable=False),
        sa.Column('name', sa.String(), autoincrement=False, nullable=True),
        sa.Column('course_id',
                  sa.Integer(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('transaction_id',
                  sa.BigInteger(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('end_transaction_id', sa.BigInteger(), nullable=True),
        sa.Column('operation_type', sa.SmallInteger(), nullable=False),
        sa.PrimaryKeyConstraint('id', 'transaction_id'))
    op.create_index(op.f('ix_exam_version_end_transaction_id'),
                    'exam_version', ['end_transaction_id'],
                    unique=False)
    op.create_index(op.f('ix_exam_version_operation_type'),
                    'exam_version', ['operation_type'],
                    unique=False)
    op.create_index(op.f('ix_exam_version_transaction_id'),
                    'exam_version', ['transaction_id'],
                    unique=False)
    op.create_table(
        'question_version',
        sa.Column('id', sa.Integer(), autoincrement=False, nullable=False),
        sa.Column('text', sa.String(), autoincrement=False, nullable=True),
        sa.Column('image', sa.String(), autoincrement=False, nullable=True),
        sa.Column('exam_id', sa.Integer(), autoincrement=False, nullable=True),
        sa.Column('reason', sa.String(), autoincrement=False, nullable=True),
        sa.Column('type',
                  sqlalchemy_utils.types.choice.ChoiceType(
                      models.Question.TYPES),
                  autoincrement=False,
                  nullable=True),
        sa.Column('correct', sa.Boolean(), autoincrement=False, nullable=True),
        sa.Column('transaction_id',
                  sa.BigInteger(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('end_transaction_id', sa.BigInteger(), nullable=True),
        sa.Column('operation_type', sa.SmallInteger(), nullable=False),
        sa.PrimaryKeyConstraint('id', 'transaction_id'))
    op.create_index(op.f('ix_question_version_end_transaction_id'),
                    'question_version', ['end_transaction_id'],
                    unique=False)
    op.create_index(op.f('ix_question_version_operation_type'),
                    'question_version', ['operation_type'],
                    unique=False)
    op.create_index(op.f('ix_question_version_transaction_id'),
                    'question_version', ['transaction_id'],
                    unique=False)
    op.create_table(
        'user', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('name', sa.String(), nullable=True),
        sa.Column('username', sa.String(), nullable=True),
        sa.Column('password',
                  sqlalchemy_utils.types.password.PasswordType(
                      schemes=['pbkdf2_sha512']),
                  nullable=True),
        sa.Column('registered', sa.Boolean(), nullable=True),
        sa.Column('admin', sa.Boolean(), nullable=True),
        sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('username'))
    op.create_table(
        'user_version',
        sa.Column('id', sa.Integer(), autoincrement=False, nullable=False),
        sa.Column('name', sa.String(), autoincrement=False, nullable=True),
        sa.Column('username', sa.String(), autoincrement=False, nullable=True),
        sa.Column('password',
                  sqlalchemy_utils.types.password.PasswordType(
                      schemes=['pbkdf2_sha512']),
                  autoincrement=False,
                  nullable=True),
        sa.Column('registered',
                  sa.Boolean(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('admin', sa.Boolean(), autoincrement=False, nullable=True),
        sa.Column('transaction_id',
                  sa.BigInteger(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('end_transaction_id', sa.BigInteger(), nullable=True),
        sa.Column('operation_type', sa.SmallInteger(), nullable=False),
        sa.PrimaryKeyConstraint('id', 'transaction_id'))
    op.create_index(op.f('ix_user_version_end_transaction_id'),
                    'user_version', ['end_transaction_id'],
                    unique=False)
    op.create_index(op.f('ix_user_version_operation_type'),
                    'user_version', ['operation_type'],
                    unique=False)
    op.create_index(op.f('ix_user_version_transaction_id'),
                    'user_version', ['transaction_id'],
                    unique=False)
    op.create_table('exam', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(), nullable=True),
                    sa.Column('course_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['course_id'],
                        ['course.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'transaction', sa.Column('issued_at', sa.DateTime(), nullable=True),
        sa.Column('id', sa.BigInteger(), nullable=False),
        sa.Column('remote_addr', sa.String(length=50), nullable=True),
        sa.Column('user_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['user_id'],
            ['user.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_transaction_user_id'),
                    'transaction', ['user_id'],
                    unique=False)
    op.create_table(
        'question', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('text', sa.String(), nullable=True),
        sa.Column('image', sa.String(), nullable=True),
        sa.Column('exam_id', sa.Integer(), nullable=True),
        sa.Column('reason', sa.String(), nullable=True),
        sa.Column('type',
                  sqlalchemy_utils.types.choice.ChoiceType(
                      models.Question.TYPES),
                  nullable=True),
        sa.Column('correct', sa.Boolean(), nullable=True),
        sa.ForeignKeyConstraint(
            ['exam_id'],
            ['exam.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'alternative', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('text', sa.String(), nullable=True),
        sa.Column('correct', sa.Boolean(), nullable=True),
        sa.Column('question_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['question_id'],
            ['question.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'stats', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('question_id', sa.Integer(), nullable=True),
        sa.Column('user_id', sa.Integer(), nullable=True),
        sa.Column('correct', sa.Boolean(), nullable=True),
        sa.Column('reset', sa.Boolean(), nullable=True),
        sa.ForeignKeyConstraint(
            ['question_id'],
            ['question.id'],
        ), sa.ForeignKeyConstraint(
            ['user_id'],
            ['user.id'],
        ), sa.PrimaryKeyConstraint('id'))
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'classes', sa.Column('class_id', sa.Integer(), nullable=False),
        sa.Column('class_name', sa.String(length=128), nullable=True),
        sa.Column('class_token', sa.String(length=128), nullable=True),
        sa.Column('class_teacher', sa.Integer(), nullable=True),
        sa.Column('password_hash', sa.String(length=128), nullable=True),
        sa.Column('last_seen', sa.DateTime(), nullable=True),
        sa.PrimaryKeyConstraint('class_id'),
        sa.UniqueConstraint('class_token'))
    op.create_index(op.f('ix_classes_class_name'),
                    'classes', ['class_name'],
                    unique=False)
    op.create_index(op.f('ix_classes_class_teacher'),
                    'classes', ['class_teacher'],
                    unique=False)
    op.create_table(
        'students', sa.Column('student_id', sa.Integer(), nullable=False),
        sa.Column('rfid_id', sa.String(length=64), nullable=True),
        sa.Column('student_number', sa.String(length=64), nullable=True),
        sa.Column('student_name', sa.String(length=64), nullable=True),
        sa.Column('student_nickname', sa.String(length=64), nullable=False),
        sa.Column('curr_active', sa.Boolean(), nullable=False),
        sa.PrimaryKeyConstraint('student_id'),
        sa.UniqueConstraint('student_id'))
    op.create_index(op.f('ix_students_rfid_id'),
                    'students', ['rfid_id'],
                    unique=True)
    op.create_index(op.f('ix_students_student_name'),
                    'students', ['student_name'],
                    unique=True)
    op.create_index(op.f('ix_students_student_number'),
                    'students', ['student_number'],
                    unique=True)
    op.create_table(
        'timetable', sa.Column('time_id', sa.Integer(), nullable=False),
        sa.Column('time_class_name', sa.String(length=128), nullable=True),
        sa.Column('time_class_id', sa.Integer(), nullable=True),
        sa.Column('time_student_id', sa.Integer(), nullable=True),
        sa.Column('time_time', sa.DateTime(), nullable=True),
        sa.Column('active', sa.Boolean(), nullable=False),
        sa.PrimaryKeyConstraint('time_id'), sa.UniqueConstraint('time_id'))
    op.create_index(op.f('ix_timetable_time_class_id'),
                    'timetable', ['time_class_id'],
                    unique=False)
    op.create_index(op.f('ix_timetable_time_class_name'),
                    'timetable', ['time_class_name'],
                    unique=False)
    op.create_index(op.f('ix_timetable_time_student_id'),
                    'timetable', ['time_student_id'],
                    unique=False)
    op.create_table(
        'student_identifier', sa.Column('class_id',
                                        sa.Integer(),
                                        nullable=True),
        sa.Column('student_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['class_id'],
            ['classes.class_id'],
        ), sa.ForeignKeyConstraint(
            ['student_id'],
            ['students.student_id'],
        ))
Beispiel #5
0
def downgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.drop_index(u'ix_user_email', table_name='user')
    op.create_table(
        u'committee_meeting_report',
        sa.Column(u'id',
                  sa.INTEGER(),
                  server_default=sa.text(
                      u"nextval('committee_meeting_report_id_seq'::regclass)"),
                  nullable=False),
        sa.Column(u'body', sa.TEXT(), autoincrement=False, nullable=True),
        sa.Column(u'summary', sa.TEXT(), autoincrement=False, nullable=True),
        sa.Column(u'event_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True),
        sa.PrimaryKeyConstraint(u'id', name=u'committee_meeting_report_pkey'))
    op.create_table(
        u'featured_committee_meeting_report_join',
        sa.Column(u'featured_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'committee_meeting_report_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True),
        sa.ForeignKeyConstraint(
            [u'committee_meeting_report_id'], [u'committee_meeting_report.id'],
            name=
            u'featured_committee_meeting_rep_committee_meeting_report_id_fkey')
    )
    op.create_table(
        u'briefing',
        sa.Column(
            u'id',
            sa.INTEGER(),
            server_default=sa.text(u"nextval('briefing_id_seq'::regclass)"),
            nullable=False),
        sa.Column(u'title',
                  sa.VARCHAR(length=255),
                  autoincrement=False,
                  nullable=False),
        sa.Column(u'briefing_date',
                  sa.DATE(),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'summary', sa.TEXT(), autoincrement=False, nullable=True),
        sa.Column(u'minutes', sa.TEXT(), autoincrement=False, nullable=True),
        sa.Column(u'presentation',
                  sa.TEXT(),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'start_date', sa.DATE(), autoincrement=False,
                  nullable=True),
        sa.PrimaryKeyConstraint(u'id', name=u'briefing_pkey'))
    op.create_table(
        u'book_file_join',
        sa.Column(u'book_id', sa.INTEGER(), autoincrement=False,
                  nullable=True),
        sa.Column(u'file_id', sa.INTEGER(), autoincrement=False,
                  nullable=True),
        sa.ForeignKeyConstraint([u'book_id'], [u'book.id'],
                                name=u'book_file_join_book_id_fkey'))
    op.create_table(
        u'tabled_committee_report_committee_join',
        sa.Column(u'tabled_committee_report_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'committee_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True))
    op.create_table(
        u'committee_info', sa.Column(u'id', sa.INTEGER(), nullable=False),
        sa.Column(u'about',
                  sa.VARCHAR(length=1500),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'contact_details',
                  sa.VARCHAR(length=1500),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'organization_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False),
        sa.PrimaryKeyConstraint(u'id', name=u'committee_info_pkey'))
    op.create_table(
        u'featured_committee_meeting_join',
        sa.Column(u'featured_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'committee_meeting_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True))
    op.create_table(
        u'briefing_file_join',
        sa.Column(u'briefing_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'file_id', sa.INTEGER(), autoincrement=False,
                  nullable=True),
        sa.ForeignKeyConstraint([u'briefing_id'], [u'briefing.id'],
                                name=u'briefing_file_join_briefing_id_fkey'))
    op.create_table(
        u'book', sa.Column(u'id', sa.INTEGER(), nullable=False),
        sa.Column(u'title',
                  sa.VARCHAR(length=255),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'summary', sa.TEXT(), autoincrement=False, nullable=True),
        sa.Column(u'body', sa.TEXT(), autoincrement=False, nullable=True),
        sa.Column(u'start_date', sa.DATE(), autoincrement=False,
                  nullable=True),
        sa.Column(u'nid', sa.INTEGER(), autoincrement=False, nullable=True),
        sa.PrimaryKeyConstraint(u'id', name=u'book_pkey'))
    op.create_table(
        u'hansard', sa.Column(u'id', sa.INTEGER(), nullable=False),
        sa.Column(u'title',
                  sa.VARCHAR(length=255),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'meeting_date',
                  sa.DATE(),
                  autoincrement=False,
                  nullable=True),
        sa.Column(u'start_date', sa.DATE(), autoincrement=False,
                  nullable=True),
        sa.Column(u'body', sa.TEXT(), autoincrement=False, nullable=True),
        sa.PrimaryKeyConstraint(u'id', name=u'hansard_pkey'))
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('sponsorracevbl',
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('variable', sa.String(length=32), nullable=True),
                    sa.Column('value', sa.String(length=128), nullable=True),
                    sa.Column('race_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['race_id'],
                        ['sponsorrace.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.alter_column('course',
                    'isStandard',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
    op.alter_column('event',
                    'isOnCalendar',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
    op.alter_column('service',
                    'isCalendarBlocked',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
    op.alter_column('sponsor',
                    'isLogoReceived',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
    op.alter_column('sponsor',
                    'isRegSiteUpdated',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
    op.alter_column('sponsor',
                    'isSponsorThankedFB',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
    op.alter_column('sponsor',
                    'isWebsiteUpdated',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
    op.add_column('sponsorbenefit',
                  sa.Column('race_id', sa.Integer(), nullable=True))
    op.create_foreign_key(None, 'sponsorbenefit', 'sponsorrace', ['race_id'],
                          ['id'])
    op.alter_column('sponsorlevel',
                    'display',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
    op.alter_column('sponsorrace',
                    'isRDCertified',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
    op.add_column(
        'sponsorracedate',
        sa.Column('beneficiary', sa.String(length=128), nullable=True))
    op.add_column('sponsorracedate',
                  sa.Column('raceloc', sa.String(length=128), nullable=True))
    op.alter_column('tag',
                    'isBuiltIn',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
    op.alter_column('user',
                    'active',
                    existing_type=mysql.TINYINT(display_width=1),
                    type_=sa.Boolean(),
                    existing_nullable=True)
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('board', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(length=32), nullable=False),
                    sa.Column('rules', sa.String(), nullable=True),
                    sa.Column('max_threads', sa.Integer(), nullable=True),
                    sa.Column('mimetypes', sa.String(), nullable=False),
                    sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'media', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('ext', sa.String(length=4), nullable=False),
        sa.Column('mimetype', sa.String(length=255), nullable=False),
        sa.Column('is_animated', sa.Boolean(), nullable=False),
        sa.PrimaryKeyConstraint('id'))
    op.create_table('slip', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(length=20), nullable=False),
                    sa.Column('pass_hash', sa.String(), nullable=False),
                    sa.Column('is_admin', sa.Boolean(), nullable=False),
                    sa.Column('is_mod', sa.Boolean(), nullable=False),
                    sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name'))
    op.create_table('tag', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(), nullable=False),
                    sa.Column('bg_style', sa.String(), nullable=True),
                    sa.Column('text_style', sa.String(), nullable=True),
                    sa.PrimaryKeyConstraint('id'))
    op.create_table('session',
                    sa.Column('id', sa.String(length=32), nullable=False),
                    sa.Column('slip_id', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['slip_id'],
                        ['slip.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('thread', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('board', sa.Integer(), nullable=False),
                    sa.Column('views', sa.Integer(), nullable=False),
                    sa.Column('last_updated', sa.DateTime(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['board'],
                        ['board.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'poster', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('hex_string', sa.String(length=4), nullable=False),
        sa.Column('ip_address', sa.String(length=15), nullable=False),
        sa.Column('thread', sa.Integer(), nullable=False),
        sa.Column('slip', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['slip'],
            ['slip.id'],
        ),
        sa.ForeignKeyConstraint(['thread'], ['thread.id'], ondelete='CASCADE'),
        sa.PrimaryKeyConstraint('id'))
    op.create_table('tags', sa.Column('tag_id', sa.Integer(), nullable=False),
                    sa.Column('thread_id', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['tag_id'],
                        ['tag.id'],
                    ), sa.ForeignKeyConstraint(
                        ['thread_id'],
                        ['thread.id'],
                    ), sa.PrimaryKeyConstraint('tag_id', 'thread_id'))
    op.create_table(
        'post', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('body', sa.String(length=4096), nullable=False),
        sa.Column('subject', sa.String(length=64), nullable=True),
        sa.Column('thread', sa.Integer(), nullable=False),
        sa.Column('datetime', sa.DateTime(), nullable=False),
        sa.Column('poster', sa.Integer(), nullable=False),
        sa.Column('media', sa.Integer(), nullable=True),
        sa.Column('spoiler', sa.Boolean(), nullable=True),
        sa.ForeignKeyConstraint(['media'], ['media.id'], ondelete='CASCADE'),
        sa.ForeignKeyConstraint(
            ['poster'],
            ['poster.id'],
        ), sa.ForeignKeyConstraint(
            ['thread'],
            ['thread.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table('reply',
                    sa.Column('reply_from', sa.Integer(), nullable=False),
                    sa.Column('reply_to', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['reply_from'],
                        ['post.id'],
                    ), sa.ForeignKeyConstraint(
                        ['reply_to'],
                        ['post.id'],
                    ), sa.PrimaryKeyConstraint('reply_from', 'reply_to'))
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    distribution_code_table = op.create_table(
        'distribution_code',
        sa.Column('created_on', sa.DateTime(), nullable=False),
        sa.Column('updated_on', sa.DateTime(), nullable=True),
        sa.Column('distribution_code_id',
                  sa.Integer(),
                  autoincrement=True,
                  nullable=False),
        sa.Column('memo_name', sa.String(length=50), nullable=True),
        sa.Column('service_fee_memo_name', sa.String(length=50),
                  nullable=True),
        sa.Column('client', sa.String(length=50), nullable=True),
        sa.Column('responsibility_centre', sa.String(length=50),
                  nullable=True),
        sa.Column('service_line', sa.String(length=50), nullable=True),
        sa.Column('stob', sa.String(length=50), nullable=True),
        sa.Column('project_code', sa.String(length=50), nullable=True),
        sa.Column('service_fee_client', sa.String(length=50), nullable=True),
        sa.Column('service_fee_responsibility_centre',
                  sa.String(length=50),
                  nullable=True),
        sa.Column('service_fee_line', sa.String(length=50), nullable=True),
        sa.Column('service_fee_stob', sa.String(length=50), nullable=True),
        sa.Column('service_fee_project_code',
                  sa.String(length=50),
                  nullable=True),
        sa.Column('start_date', sa.Date(), nullable=False),
        sa.Column('end_date', sa.Date(), nullable=True),
        sa.Column('created_by', sa.String(length=50), nullable=False),
        sa.Column('created_name', sa.String(length=100), nullable=True),
        sa.Column('updated_by', sa.String(length=50), nullable=True),
        sa.Column('updated_name', sa.String(length=50), nullable=True),
        sa.PrimaryKeyConstraint('distribution_code_id'))

    distribution_code_link_table = op.create_table(
        'distribution_code_link',
        sa.Column('distribution_link_id', sa.Integer(), nullable=False),
        sa.Column('fee_schedule_id', sa.Integer(), nullable=True),
        sa.Column('distribution_code_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['distribution_code_id'],
            ['distribution_code.distribution_code_id'],
        ),
        sa.ForeignKeyConstraint(
            ['fee_schedule_id'],
            ['fee_schedule.fee_schedule_id'],
        ), sa.PrimaryKeyConstraint('distribution_link_id'))
    op.add_column(
        'fee_schedule',
        sa.Column('service_fee_code', sa.String(length=10), nullable=True))
    op.create_foreign_key('service_fee_code_fk', 'fee_schedule', 'fee_code',
                          ['service_fee_code'], ['code'])
    op.add_column(
        'payment_line_item',
        sa.Column('fee_distribution_id', sa.Integer(), nullable=True))
    op.add_column('payment_line_item',
                  sa.Column('service_fees', sa.Float(), nullable=True))
    op.create_foreign_key('fee_distribution_id_fk', 'payment_line_item',
                          'distribution_code', ['fee_distribution_id'],
                          ['distribution_code_id'])

    # Insert records from corp_type to distribution_code and create a link with fee_schedule
    op.bulk_insert(distribution_code_table, [{
        'distribution_code_id': 1,
        'created_by': 'Alembic',
        'created_on': date.today(),
        'memo_name': 'CO-OP Filing',
        'service_fee_memo_name': None,
        'start_date': date.today(),
    }, {
        'distribution_code_id': 2,
        'created_by': 'Alembic',
        'created_on': date.today(),
        'memo_name': 'Benefit Companies',
        'service_fee_memo_name': 'SBC Modernization Service Charge',
        'start_date': date.today(),
    }, {
        'distribution_code_id': 3,
        'created_by': 'Alembic',
        'created_on': date.today(),
        'memo_name': 'Benefit Companies',
        'service_fee_memo_name': 'SBC Modernization Service Charge',
        'start_date': date.today(),
    }, {
        'distribution_code_id': 4,
        'created_by': 'Alembic',
        'created_on': date.today(),
        'memo_name': 'TODO-VS',
        'service_fee_memo_name': 'SBC Modernization Service Charge',
        'start_date': date.today(),
    }, {
        'distribution_code_id': 5,
        'created_by': 'Alembic',
        'created_on': date.today(),
        'memo_name': 'TODO-PPR',
        'service_fee_memo_name': 'SBC Modernization Service Charge',
        'start_date': date.today(),
    }])

    conn = op.get_bind()
    res = conn.execute(
        'select fee_schedule_id, corp_type_code from fee_schedule;')
    results = res.fetchall()
    for result in results:
        distribution_code_id = None
        corp_type_code = result[1]

        if corp_type_code == 'CP':
            distribution_code_id = 1
        elif corp_type_code == 'BC':
            distribution_code_id = 2
        elif corp_type_code == 'NRO':
            distribution_code_id = 3
        elif corp_type_code == 'VS':
            distribution_code_id = 4
        elif corp_type_code == 'PPR':
            distribution_code_id = 5

        op.bulk_insert(distribution_code_link_table,
                       [{
                           'distribution_code_id': distribution_code_id,
                           'fee_schedule_id': result[0]
                       }])

        # Update all payment line item which used this fee schedule with distribution_code_id
        op.execute(
            'update payment_line_item set fee_distribution_id={} where fee_schedule_id={};'
            .format(distribution_code_id, result[0]))
    # Update service fee codes for fee schedule
    op.execute(
        "update fee_schedule set service_fee_code='TRF01' where corp_type_code in ('BC', 'VS', 'PPR', 'NRO')"
    )

    # Above script creates 5 default entries, so reset the sequence to 6.
    op.execute(
        "ALTER SEQUENCE distribution_code_distribution_code_id_seq RESTART WITH 6"
    )
    ## Insert complete

    op.drop_constraint('corp_type_transaction_fee_code_fkey',
                       'corp_type',
                       type_='foreignkey')
    op.drop_column('corp_type', 'gl_memo')
    op.drop_column('corp_type', 'service_fee_code')
    op.drop_column('corp_type', 'service_gl_memo')
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('customizations',
    sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False),
    sa.Column('created_at', sa.DateTime(), nullable=False),
    sa.Column('updated_at', sa.DateTime(), nullable=True),
    sa.Column('code', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(), nullable=False),
    sa.Column('amount', sa.DECIMAL(), nullable=False),
    sa.Column('setup_time', sa.Time(), nullable=False),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('code')
    )
    op.create_index(op.f('ix_customizations_id'), 'customizations', ['id'], unique=True)
    op.create_table('flavors',
    sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False),
    sa.Column('created_at', sa.DateTime(), nullable=False),
    sa.Column('updated_at', sa.DateTime(), nullable=True),
    sa.Column('code', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(), nullable=False),
    sa.Column('setup_time', sa.Time(), nullable=False),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('code')
    )
    op.create_index(op.f('ix_flavors_id'), 'flavors', ['id'], unique=True)
    op.create_table('sizes',
    sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False),
    sa.Column('created_at', sa.DateTime(), nullable=False),
    sa.Column('updated_at', sa.DateTime(), nullable=True),
    sa.Column('code', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(), nullable=False),
    sa.Column('amount', sa.DECIMAL(), nullable=False),
    sa.Column('setup_time', sa.Time(), nullable=False),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('code')
    )
    op.create_index(op.f('ix_sizes_id'), 'sizes', ['id'], unique=True)
    op.create_table('orders',
    sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False),
    sa.Column('created_at', sa.DateTime(), nullable=False),
    sa.Column('updated_at', sa.DateTime(), nullable=True),
    sa.Column('stage', sa.Enum('choice', 'customization', 'done', name='orderstage'), nullable=False),
    sa.Column('size_id', postgresql.UUID(as_uuid=True), nullable=False),
    sa.Column('flavor_id', postgresql.UUID(as_uuid=True), nullable=False),
    sa.Column('setup_time', sa.Time(), nullable=False),
    sa.Column('amount', sa.DECIMAL(), nullable=False),
    sa.ForeignKeyConstraint(['flavor_id'], ['flavors.id'], ),
    sa.ForeignKeyConstraint(['size_id'], ['sizes.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_orders_id'), 'orders', ['id'], unique=True)
    op.create_table('order_customization',
    sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False),
    sa.Column('created_at', sa.DateTime(), nullable=False),
    sa.Column('updated_at', sa.DateTime(), nullable=True),
    sa.Column('order_id', postgresql.UUID(), nullable=False),
    sa.Column('customization_id', postgresql.UUID(), nullable=False),
    sa.ForeignKeyConstraint(['customization_id'], ['customizations.id'], ),
    sa.ForeignKeyConstraint(['order_id'], ['orders.id'], ),
    sa.PrimaryKeyConstraint('id', 'order_id', 'customization_id')
    )
    op.create_index(op.f('ix_order_customization_id'), 'order_customization', ['id'], unique=True)
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'user', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_time', sa.DateTime(), nullable=True),
        sa.Column('updated_time', sa.DateTime(), nullable=True),
        sa.Column('role', sa.SmallInteger(), nullable=True),
        sa.Column('name', sa.String(length=32), nullable=False),
        sa.Column('email', sa.String(length=128), nullable=False),
        sa.Column('password', sa.String(length=128), nullable=False),
        sa.Column('phone', sa.String(length=11), nullable=True),
        sa.Column('is_disable', sa.Boolean(), nullable=True),
        sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_user_email'), 'user', ['email'], unique=True)
    op.create_index(op.f('ix_user_name'), 'user', ['name'], unique=True)
    op.create_table(
        'company', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_time', sa.DateTime(), nullable=True),
        sa.Column('updated_time', sa.DateTime(), nullable=True),
        sa.Column('user_id', sa.Integer(), nullable=True),
        sa.Column('name', sa.String(length=128), nullable=True),
        sa.Column('website', sa.String(length=256), nullable=True),
        sa.Column('logo_uri', sa.String(length=256), nullable=True),
        sa.Column('introduction', sa.String(length=256), nullable=True),
        sa.Column('description', sa.Text(), nullable=True),
        sa.Column('domain', sa.String(length=128), nullable=True),
        sa.Column('finance', sa.String(length=128), nullable=True),
        sa.Column('city', sa.String(length=128), nullable=True),
        sa.ForeignKeyConstraint(['user_id'], ['user.id'], ondelete='SET NULL'),
        sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'job', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_time', sa.DateTime(), nullable=True),
        sa.Column('updated_time', sa.DateTime(), nullable=True),
        sa.Column('company_id', sa.Integer(), nullable=True),
        sa.Column('title', sa.String(length=128), nullable=True),
        sa.Column('description', sa.Text(), nullable=True),
        sa.Column('address', sa.String(length=256), nullable=True),
        sa.Column('salary_max', sa.Integer(), nullable=True),
        sa.Column('salary_min', sa.Integer(), nullable=True),
        sa.Column('location', sa.String(length=128), nullable=True),
        sa.Column('experience', sa.String(length=128), nullable=True),
        sa.Column('education', sa.String(length=128), nullable=True),
        sa.Column('tags', sa.String(length=128), nullable=True),
        sa.Column('is_disable', sa.Boolean(), nullable=True),
        sa.ForeignKeyConstraint(['company_id'], ['user.id'],
                                ondelete='CASCADE'),
        sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'seeker', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_time', sa.DateTime(), nullable=True),
        sa.Column('updated_time', sa.DateTime(), nullable=True),
        sa.Column('user_id', sa.Integer(), nullable=True),
        sa.Column('name', sa.String(length=128), nullable=True),
        sa.Column('work_year', sa.Integer(), nullable=True),
        sa.Column('resume_uri', sa.String(length=256), nullable=True),
        sa.ForeignKeyConstraint(
            ['user_id'],
            ['user.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'delivery', sa.Column('created_time', sa.DateTime(), nullable=True),
        sa.Column('updated_time', sa.DateTime(), nullable=True),
        sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('job_id', sa.Integer(), nullable=True),
        sa.Column('user_id', sa.Integer(), nullable=True),
        sa.Column('company_id', sa.Integer(), nullable=True),
        sa.Column('status', sa.SmallInteger(), nullable=True),
        sa.Column('response', sa.String(length=256), nullable=True),
        sa.ForeignKeyConstraint(['job_id'], ['job.id'], ondelete='SET NULL'),
        sa.ForeignKeyConstraint(['user_id'], ['user.id'], ondelete='SET NULL'),
        sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'user_job', sa.Column('user_id', sa.Integer(), nullable=True),
        sa.Column('job_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(['job_id'], ['job.id'], ondelete='CASCADE'),
        sa.ForeignKeyConstraint(['user_id'], ['user.id'], ondelete='CASCADE'))
Beispiel #11
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'customer', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_at', sa.DateTime(), nullable=True),
        sa.Column('last_update', sa.DateTime(), nullable=True),
        sa.Column('username', sa.String(length=32), nullable=True),
        sa.Column('password_hash', sa.String(length=128), nullable=True),
        sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_customer_created_at'),
                    'customer', ['created_at'],
                    unique=False)
    op.create_index(op.f('ix_customer_last_update'),
                    'customer', ['last_update'],
                    unique=False)
    op.create_index(op.f('ix_customer_username'),
                    'customer', ['username'],
                    unique=False)
    op.create_table(
        'data_source', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_at', sa.DateTime(), nullable=True),
        sa.Column('last_update', sa.DateTime(), nullable=True),
        sa.Column('customer_id', sa.Integer(), nullable=True),
        sa.Column('upload_code', sa.String(), nullable=True),
        sa.Column('type',
                  sa.Enum('FILESYSTEM', 'BLOBSTORE', name='uploadtypes'),
                  nullable=True),
        sa.Column('location', sa.String(), nullable=True),
        sa.Column('filename', sa.String(), nullable=False),
        sa.Column('start_date', sa.DateTime(), nullable=True),
        sa.Column('end_date', sa.DateTime(), nullable=True),
        sa.ForeignKeyConstraint(
            ['customer_id'],
            ['customer.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_data_source_created_at'),
                    'data_source', ['created_at'],
                    unique=False)
    op.create_index(op.f('ix_data_source_end_date'),
                    'data_source', ['end_date'],
                    unique=False)
    op.create_index(op.f('ix_data_source_last_update'),
                    'data_source', ['last_update'],
                    unique=False)
    op.create_index(op.f('ix_data_source_location'),
                    'data_source', ['location'],
                    unique=False)
    op.create_index(op.f('ix_data_source_start_date'),
                    'data_source', ['start_date'],
                    unique=False)
    op.create_index(op.f('ix_data_source_type'),
                    'data_source', ['type'],
                    unique=False)
    op.create_index(op.f('ix_data_source_upload_code'),
                    'data_source', ['upload_code'],
                    unique=False)
    op.create_table(
        'prediction_task', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_at', sa.DateTime(), nullable=True),
        sa.Column('last_update', sa.DateTime(), nullable=True),
        sa.Column('customer_id', sa.Integer(), nullable=True),
        sa.Column('task_code', sa.String(length=60), nullable=False),
        sa.Column('datasource_id', sa.Integer(), nullable=False),
        sa.Column('prediction_request', sa.JSON(), nullable=True),
        sa.ForeignKeyConstraint(
            ['customer_id'],
            ['customer.id'],
        ), sa.ForeignKeyConstraint(
            ['datasource_id'],
            ['data_source.id'],
        ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('task_code'))
    op.create_index(op.f('ix_prediction_task_created_at'),
                    'prediction_task', ['created_at'],
                    unique=False)
    op.create_index(op.f('ix_prediction_task_last_update'),
                    'prediction_task', ['last_update'],
                    unique=False)
    op.create_table(
        'prediction_result', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_at', sa.DateTime(), nullable=True),
        sa.Column('last_update', sa.DateTime(), nullable=True),
        sa.Column('customer_id', sa.Integer(), nullable=True),
        sa.Column('task_code', sa.String(length=60), nullable=True),
        sa.Column('result', sa.JSON(), nullable=True),
        sa.Column('prediction_task_id', sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(
            ['customer_id'],
            ['customer.id'],
        ),
        sa.ForeignKeyConstraint(
            ['prediction_task_id'],
            ['prediction_task.id'],
        ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('task_code'))
    op.create_index(op.f('ix_prediction_result_created_at'),
                    'prediction_result', ['created_at'],
                    unique=False)
    op.create_index(op.f('ix_prediction_result_last_update'),
                    'prediction_result', ['last_update'],
                    unique=False)
    op.create_table(
        'task_status', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_at', sa.DateTime(), nullable=True),
        sa.Column('last_update', sa.DateTime(), nullable=True),
        sa.Column('prediction_task_id', sa.Integer(), nullable=True),
        sa.Column('state', sa.String(length=10), nullable=True),
        sa.Column('message', sa.JSON(), nullable=True),
        sa.ForeignKeyConstraint(
            ['prediction_task_id'],
            ['prediction_task.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_task_status_created_at'),
                    'task_status', ['created_at'],
                    unique=False)
    op.create_index(op.f('ix_task_status_last_update'),
                    'task_status', ['last_update'],
                    unique=False)
    op.create_index(op.f('ix_task_status_state'),
                    'task_status', ['state'],
                    unique=False)
Beispiel #12
0
def upgrade():
    users = op.create_table(
        "users",
        sa.Column("id", sa.Text(), nullable=False),
        sa.Column("created_at", sa.Integer(), nullable=False),
        sa.Column("profile",
                  postgresql.JSONB(astext_type=sa.Text()),
                  nullable=False),
        sa.PrimaryKeyConstraint("id"),
    )
    root_id = f"usr:{generate_token(42)}"
    op.execute(users.insert().values(id=root_id,
                                     created_at=int(time.time()),
                                     profile=dict(name="root")).returning(
                                         users.c.id))
    clients = op.create_table(
        "clients",
        sa.Column("user_id", sa.Text(), nullable=False),
        sa.Column("client_id", sa.Text(), nullable=False),
        sa.Column("client_secret", sa.Text(), nullable=True),
        sa.Column("_client_metadata",
                  postgresql.JSONB(astext_type=sa.Text()),
                  nullable=True),
        sa.Column("is_active", sa.Boolean(), nullable=False),
        sa.Column("client_id_issued_at", sa.Integer(), nullable=False),
        sa.Column("client_secret_expires_at", sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(
            ["user_id"],
            ["users.id"],
        ),
        sa.PrimaryKeyConstraint("client_id"),
    )
    op.execute(clients.insert().values(
        user_id=root_id,
        client_id=f"cli:swagger-ui",
        _client_metadata=dict(
            redirect_uris=["http://localhost:8000/docs/oauth2-redirect"],
            token_endpoint_auth_method="none",
            grant_types=["authorization_code", "refresh_token"],
            response_types=["code"],
            client_name="Swagger UI",
            scope="openid admin",
        ),
        is_active=True,
        client_id_issued_at=int(time.time()),
        client_secret_expires_at=0,
    ))
    op.create_table(
        "identities",
        sa.Column("id", sa.BigInteger(), nullable=False),
        sa.Column("sub", sa.String(), nullable=False),
        sa.Column("idp", sa.String(), nullable=False),
        sa.Column("user_id", sa.Text(), nullable=False),
        sa.Column("created_at", sa.Integer(), nullable=False),
        sa.Column("profile",
                  postgresql.JSONB(astext_type=sa.Text()),
                  nullable=False),
        sa.ForeignKeyConstraint(
            ["user_id"],
            ["users.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_index("identities_idp_sub_idx",
                    "identities", ["sub", "idp"],
                    unique=True)
    op.create_table(
        "authorization_codes",
        sa.Column("client_id", sa.Text(), nullable=False),
        sa.Column("user_id", sa.Text(), nullable=False),
        sa.Column("code", sa.Text(), nullable=False),
        sa.Column("code_challenge_method", sa.Text(), nullable=True),
        sa.Column("used", sa.Boolean(), nullable=True),
        sa.Column("redirect_uri", sa.Text(), nullable=True),
        sa.Column("response_type", sa.Text(), nullable=True),
        sa.Column("scope", sa.Text(), nullable=True),
        sa.Column("nonce", sa.Text(), nullable=True),
        sa.Column("auth_time", sa.Integer(), nullable=False),
        sa.Column("code_challenge", sa.Text(), nullable=True),
        sa.ForeignKeyConstraint(
            ["client_id"],
            ["clients.client_id"],
        ),
        sa.ForeignKeyConstraint(
            ["user_id"],
            ["users.id"],
        ),
        sa.PrimaryKeyConstraint("code"),
    )
    op.create_index(
        "auth_code_nonce_index",
        "authorization_codes",
        ["nonce", "auth_time"],
        unique=False,
        postgresql_where=sa.text("not used"),
    )
    op.create_table(
        "sessions",
        sa.Column("id", sa.Text(), nullable=False),
        sa.Column("client_id", sa.Text(), nullable=False),
        sa.Column("user_id", sa.Text(), nullable=False),
        sa.Column("scope", sa.Text(), nullable=False),
        sa.Column("created_at", sa.Integer(), nullable=False),
        sa.Column("terminated_at", sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ["client_id"],
            ["clients.client_id"],
        ),
        sa.ForeignKeyConstraint(
            ["user_id"],
            ["users.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_table(
        "bearer_tokens",
        sa.Column("session_id", sa.Text(), nullable=False),
        sa.Column("client_id", sa.Text(), nullable=False),
        sa.Column("user_id", sa.Text(), nullable=False),
        sa.Column("refresh_token", sa.Text(), nullable=False),
        sa.Column("access_token", sa.Text(), nullable=False),
        sa.Column("token_type", sa.Text(), nullable=True),
        sa.Column("revoked_at", sa.Integer(), nullable=True),
        sa.Column("scope", sa.Text(), nullable=True),
        sa.Column("issued_at", sa.Integer(), nullable=False),
        sa.Column("expires_in", sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(
            ["client_id"],
            ["clients.client_id"],
        ),
        sa.ForeignKeyConstraint(
            ["session_id"],
            ["sessions.id"],
        ),
        sa.ForeignKeyConstraint(
            ["user_id"],
            ["users.id"],
        ),
        sa.PrimaryKeyConstraint("refresh_token"),
    )
Beispiel #13
0
def upgrade():
    op.create_table(
        'networktemplates',
        sa.Column('id', sa.String(length=36), primary_key=True),
        sa.Column('body', sa.Text(), nullable=False),
        sa.Column('name', sa.String(255), nullable=False, unique=True))

    op.create_table(
        'networktemplateassignments',
        sa.Column('id', sa.String(length=36), primary_key=True),
        sa.Column('tenant_id', sa.String(255), nullable=False, unique=True),
        sa.Column('stack_id', sa.String(255), nullable=False),
        sa.Column('template_id',
                  sa.String(length=36),
                  sa.ForeignKey('networktemplates.id'),
                  nullable=False),
    )

    op.create_table(
        'reachabilitytest',
        sa.Column('id', sa.String(length=36), primary_key=True),
        sa.Column('tenant_id', sa.String(255), nullable=False),
        sa.Column('name', sa.String(64), nullable=False, unique=True),
        sa.Column('src_tenant_name', sa.String(255), nullable=False),
        sa.Column('src_segment_name', sa.String(255), nullable=False),
        sa.Column('src_ip', sa.String(16), nullable=False),
        sa.Column('dst_ip', sa.String(16), nullable=False),
        sa.Column('expected_result',
                  Enum("reached destination",
                       "dropped by route",
                       "dropped by policy",
                       "dropped due to private segment",
                       "packet in",
                       "forwarded",
                       "dropped",
                       "multiple sources",
                       "unsupported",
                       "invalid input",
                       name="expected_result"),
                  nullable=False),
        sa.Column('test_time', TIMESTAMP(timezone=True), nullable=True),
        sa.Column('test_result',
                  Enum("pass", "fail", "pending"),
                  nullable=False,
                  default="pending"),
        sa.Column('detail', JSONEncodedDict(8192), nullable=True),
        sa.Column('run_test', sa.Boolean, nullable=False, default=False))

    op.create_table(
        'reachabilityquicktest',
        sa.Column('id', sa.String(length=36), primary_key=True),
        sa.Column('tenant_id', sa.String(255), nullable=False),
        sa.Column('name', sa.String(64), nullable=False, unique=True),
        sa.Column('src_tenant_name', sa.String(255), nullable=False),
        sa.Column('src_segment_name', sa.String(255), nullable=False),
        sa.Column('src_ip', sa.String(16), nullable=False),
        sa.Column('dst_ip', sa.String(16), nullable=False),
        sa.Column('expected_result',
                  Enum("reached destination",
                       "dropped by route",
                       "dropped by policy",
                       "dropped due to private segment",
                       "packet in",
                       "forwarded",
                       "dropped",
                       "multiple sources",
                       "unsupported",
                       "invalid input",
                       name="expected_result"),
                  nullable=False),
        sa.Column('test_time', TIMESTAMP(timezone=True), nullable=True),
        sa.Column('test_result',
                  Enum("pass", "fail", "pending"),
                  nullable=False,
                  default="pending"),
        sa.Column('detail', JSONEncodedDict(8192), nullable=True),
        sa.Column('run_test', sa.Boolean, nullable=False, default=False),
        sa.Column('save_test', sa.Boolean, nullable=False, default=False))

    op.create_table(
        'bsn_routerrules', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('priority', sa.Integer(), nullable=False),
        sa.Column('source', sa.String(length=64), nullable=False),
        sa.Column('destination', sa.String(length=64), nullable=False),
        sa.Column('action', sa.String(length=10), nullable=False),
        sa.Column('router_id', sa.String(length=36), nullable=True),
        sa.ForeignKeyConstraint(['router_id'], ['routers.id'],
                                ondelete='CASCADE'),
        sa.PrimaryKeyConstraint('id'),
        sa.UniqueConstraint('priority', 'router_id', name='unique_prio_rid'))

    op.create_table(
        'bsn_nexthops', sa.Column('rule_id', sa.Integer(), nullable=False),
        sa.Column('nexthop', sa.String(length=64), nullable=False),
        sa.ForeignKeyConstraint(['rule_id'], ['bsn_routerrules.id'],
                                ondelete='CASCADE'),
        sa.PrimaryKeyConstraint('rule_id', 'nexthop'))
Beispiel #14
0
              comment='自我介绍'),
    sa.Column('created_at',
              LocalDateTime,
              nullable=False,
              server_default=sasql.text('CURRENT_TIMESTAMP'),
              comment='创建时间'),
    sa.Column(
        'updated_at',
        LocalDateTime,
        nullable=True,
        server_default=sasql.text('DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP'),
        comment='更新时间'),
    sa.Index('idx_username', 'username', unique=True),
    sa.Index('idx_mobile', 'mobile', unique=True),
    sa.ForeignKeyConstraint(['avatar_id'], ['file.id'],
                            ondelete='SET NULL',
                            onupdate='CASCADE'),
    comment='用户',
)


class UserRepo(Repository):
    def __init__(self, db: Engine):
        super().__init__(db, user_table)


user_follow_table = sa.Table(
    'user_follow',
    metadata,
    sa.Column('id', sa.Integer, nullable=False, primary_key=True,
              comment='ID'),
Beispiel #15
0
def upgrade():
    """Upgrade database."""
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'oarepo_references_classname',
        sa.Column('created',
                  sa.DateTime().with_variant(mysql.DATETIME(fsp=6), 'mysql'),
                  nullable=False),
        sa.Column('updated',
                  sa.DateTime().with_variant(mysql.DATETIME(fsp=6), 'mysql'),
                  nullable=False), sa.Column('id',
                                             sa.Integer(),
                                             nullable=False),
        sa.Column('name', sa.String(), nullable=True),
        sa.PrimaryKeyConstraint('id',
                                name=op.f('pk_oarepo_references_classname')))
    op.create_index(op.f('ix_oarepo_references_classname_name'),
                    'oarepo_references_classname', ['name'],
                    unique=True)
    op.create_table(
        'oarepo_references_version',
        sa.Column('created',
                  sa.DateTime().with_variant(mysql.DATETIME(fsp=6), 'mysql'),
                  autoincrement=False,
                  nullable=True),
        sa.Column('updated',
                  sa.DateTime().with_variant(mysql.DATETIME(fsp=6), 'mysql'),
                  autoincrement=False,
                  nullable=True),
        sa.Column('id',
                  sqlalchemy_utils.types.uuid.UUIDType(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('record_id',
                  sa.Integer(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('reference',
                  sa.String(length=255),
                  autoincrement=False,
                  nullable=True),
        sa.Column('reference_uuid',
                  sqlalchemy_utils.types.uuid.UUIDType(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('inline',
                  sa.Boolean(name='ck_oarepo_references_inline'),
                  autoincrement=False,
                  nullable=True),
        sa.Column('version_id',
                  sa.Integer(),
                  autoincrement=False,
                  nullable=True),
        sa.Column('transaction_id',
                  sa.BigInteger(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('end_transaction_id', sa.BigInteger(), nullable=True),
        sa.Column('operation_type', sa.SmallInteger(), nullable=False),
        sa.PrimaryKeyConstraint('id',
                                'transaction_id',
                                name=op.f('pk_oarepo_references_version')))
    op.create_index(op.f('ix_oarepo_references_version_end_transaction_id'),
                    'oarepo_references_version', ['end_transaction_id'],
                    unique=False)
    op.create_index(op.f('ix_oarepo_references_version_operation_type'),
                    'oarepo_references_version', ['operation_type'],
                    unique=False)
    op.create_index(op.f('ix_oarepo_references_version_reference'),
                    'oarepo_references_version', ['reference'],
                    unique=False)
    op.create_index(op.f('ix_oarepo_references_version_reference_uuid'),
                    'oarepo_references_version', ['reference_uuid'],
                    unique=False)
    op.create_index(op.f('ix_oarepo_references_version_transaction_id'),
                    'oarepo_references_version', ['transaction_id'],
                    unique=False)
    op.create_table(
        'oarepo_references_referencing_record',
        sa.Column('created',
                  sa.DateTime().with_variant(mysql.DATETIME(fsp=6), 'mysql'),
                  nullable=False),
        sa.Column('updated',
                  sa.DateTime().with_variant(mysql.DATETIME(fsp=6), 'mysql'),
                  nullable=False), sa.Column('id',
                                             sa.Integer(),
                                             nullable=False),
        sa.Column('record_uuid',
                  sqlalchemy_utils.types.uuid.UUIDType(),
                  nullable=True),
        sa.Column('class_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(['class_id'],
                                ['oarepo_references_classname.id'],
                                name='fk_oarepo_references_class_id_classname',
                                ondelete='CASCADE'),
        sa.PrimaryKeyConstraint(
            'id', name=op.f('pk_oarepo_references_referencing_record')))
    op.create_index(
        op.f('ix_oarepo_references_referencing_record_record_uuid'),
        'oarepo_references_referencing_record', ['record_uuid'],
        unique=True)
    op.create_table(
        'oarepo_references',
        sa.Column('created',
                  sa.DateTime().with_variant(mysql.DATETIME(fsp=6), 'mysql'),
                  nullable=False),
        sa.Column('updated',
                  sa.DateTime().with_variant(mysql.DATETIME(fsp=6), 'mysql'),
                  nullable=False),
        sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(),
                  nullable=False),
        sa.Column('record_id', sa.Integer(), nullable=True),
        sa.Column('reference', sa.String(length=255), nullable=False),
        sa.Column('reference_uuid',
                  sqlalchemy_utils.types.uuid.UUIDType(),
                  nullable=True),
        sa.Column('inline',
                  sa.Boolean(name='ck_oarepo_references_inline'),
                  nullable=True),
        sa.Column('version_id', sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(['record_id'],
                                ['oarepo_references_referencing_record.id'],
                                name='fk_oarepo_references_record_id_record',
                                ondelete='CASCADE'),
        sa.PrimaryKeyConstraint('id', name=op.f('pk_oarepo_references')),
        sa.UniqueConstraint('record_id',
                            'reference',
                            name='uq_oarepo_references_record_id_reference'))
    op.create_index(op.f('ix_oarepo_references_reference'),
                    'oarepo_references', ['reference'],
                    unique=False)
    op.create_index(op.f('ix_oarepo_references_reference_uuid'),
                    'oarepo_references', ['reference_uuid'],
                    unique=False)
def upgrade(op, tables, tester):
    op.create_table(
        "repomirrorrule",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("uuid", sa.String(length=36), nullable=False),
        sa.Column("repository_id", sa.Integer(), nullable=False),
        sa.Column("creation_date", sa.DateTime(), nullable=False),
        sa.Column("rule_type", sa.Integer(), nullable=False),
        sa.Column("rule_value", sa.Text(), nullable=False),
        sa.Column("left_child_id", sa.Integer(), nullable=True),
        sa.Column("right_child_id", sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ["left_child_id"],
            ["repomirrorrule.id"],
            name=op.f("fk_repomirrorrule_left_child_id_repomirrorrule"),
        ),
        sa.ForeignKeyConstraint(
            ["repository_id"],
            ["repository.id"],
            name=op.f("fk_repomirrorrule_repository_id_repository"),
        ),
        sa.ForeignKeyConstraint(
            ["right_child_id"],
            ["repomirrorrule.id"],
            name=op.f("fk_repomirrorrule_right_child_id_repomirrorrule"),
        ),
        sa.PrimaryKeyConstraint("id", name=op.f("pk_repomirrorrule")),
    )
    op.create_index(
        "repomirrorrule_left_child_id", "repomirrorrule", ["left_child_id"], unique=False
    )
    op.create_index(
        "repomirrorrule_repository_id", "repomirrorrule", ["repository_id"], unique=False
    )
    op.create_index(
        "repomirrorrule_right_child_id", "repomirrorrule", ["right_child_id"], unique=False
    )
    op.create_index("repomirrorrule_rule_type", "repomirrorrule", ["rule_type"], unique=False)
    op.create_index("repomirrorrule_uuid", "repomirrorrule", ["uuid"], unique=True)

    op.create_table(
        "repomirrorconfig",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("repository_id", sa.Integer(), nullable=False),
        sa.Column("creation_date", sa.DateTime(), nullable=False),
        sa.Column("is_enabled", sa.Boolean(), nullable=False),
        sa.Column("mirror_type", sa.Integer(), nullable=False),
        sa.Column("internal_robot_id", sa.Integer(), nullable=False),
        sa.Column("external_registry", sa.String(length=255), nullable=False),
        sa.Column("external_namespace", sa.String(length=255), nullable=False),
        sa.Column("external_repository", sa.String(length=255), nullable=False),
        sa.Column("external_registry_username", sa.String(length=2048), nullable=True),
        sa.Column("external_registry_password", sa.String(length=2048), nullable=True),
        sa.Column("external_registry_config", sa.Text(), nullable=False),
        sa.Column("sync_interval", sa.Integer(), nullable=False, server_default="60"),
        sa.Column("sync_start_date", sa.DateTime(), nullable=True),
        sa.Column("sync_expiration_date", sa.DateTime(), nullable=True),
        sa.Column("sync_retries_remaining", sa.Integer(), nullable=False, server_default="3"),
        sa.Column("sync_status", sa.Integer(), nullable=False),
        sa.Column("sync_transaction_id", sa.String(length=36), nullable=True),
        sa.Column("root_rule_id", sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(
            ["repository_id"],
            ["repository.id"],
            name=op.f("fk_repomirrorconfig_repository_id_repository"),
        ),
        sa.ForeignKeyConstraint(
            ["root_rule_id"],
            ["repomirrorrule.id"],
            name=op.f("fk_repomirrorconfig_root_rule_id_repomirrorrule"),
        ),
        sa.ForeignKeyConstraint(
            ["internal_robot_id"],
            ["user.id"],
            name=op.f("fk_repomirrorconfig_internal_robot_id_user"),
        ),
        sa.PrimaryKeyConstraint("id", name=op.f("pk_repomirrorconfig")),
    )
    op.create_index(
        "repomirrorconfig_mirror_type", "repomirrorconfig", ["mirror_type"], unique=False
    )
    op.create_index(
        "repomirrorconfig_repository_id", "repomirrorconfig", ["repository_id"], unique=True
    )
    op.create_index(
        "repomirrorconfig_root_rule_id", "repomirrorconfig", ["root_rule_id"], unique=False
    )
    op.create_index(
        "repomirrorconfig_sync_status", "repomirrorconfig", ["sync_status"], unique=False
    )
    op.create_index(
        "repomirrorconfig_sync_transaction_id",
        "repomirrorconfig",
        ["sync_transaction_id"],
        unique=False,
    )
    op.create_index(
        "repomirrorconfig_internal_robot_id",
        "repomirrorconfig",
        ["internal_robot_id"],
        unique=False,
    )

    op.add_column(
        "repository", sa.Column("state", sa.Integer(), nullable=False, server_default="0")
    )
    op.create_index("repository_state", "repository", ["state"], unique=False)

    op.bulk_insert(
        tables.logentrykind,
        [
            {"name": "repo_mirror_enabled"},
            {"name": "repo_mirror_disabled"},
            {"name": "repo_mirror_config_changed"},
            {"name": "repo_mirror_sync_started"},
            {"name": "repo_mirror_sync_failed"},
            {"name": "repo_mirror_sync_success"},
            {"name": "repo_mirror_sync_now_requested"},
            {"name": "repo_mirror_sync_tag_success"},
            {"name": "repo_mirror_sync_tag_failed"},
            {"name": "repo_mirror_sync_test_success"},
            {"name": "repo_mirror_sync_test_failed"},
            {"name": "repo_mirror_sync_test_started"},
            {"name": "change_repo_state"},
        ],
    )

    tester.populate_table(
        "repomirrorrule",
        [
            ("uuid", tester.TestDataType.String),
            ("repository_id", tester.TestDataType.Foreign("repository")),
            ("creation_date", tester.TestDataType.DateTime),
            ("rule_type", tester.TestDataType.Integer),
            ("rule_value", tester.TestDataType.String),
        ],
    )

    tester.populate_table(
        "repomirrorconfig",
        [
            ("repository_id", tester.TestDataType.Foreign("repository")),
            ("creation_date", tester.TestDataType.DateTime),
            ("is_enabled", tester.TestDataType.Boolean),
            ("mirror_type", tester.TestDataType.Constant(1)),
            ("internal_robot_id", tester.TestDataType.Foreign("user")),
            ("external_registry", tester.TestDataType.String),
            ("external_namespace", tester.TestDataType.String),
            ("external_repository", tester.TestDataType.String),
            ("external_registry_username", tester.TestDataType.String),
            ("external_registry_password", tester.TestDataType.String),
            ("external_registry_config", tester.TestDataType.JSON),
            ("sync_start_date", tester.TestDataType.DateTime),
            ("sync_expiration_date", tester.TestDataType.DateTime),
            ("sync_retries_remaining", tester.TestDataType.Integer),
            ("sync_status", tester.TestDataType.Constant(0)),
            ("sync_transaction_id", tester.TestDataType.String),
            ("root_rule_id", tester.TestDataType.Foreign("repomirrorrule")),
        ],
    )
Beispiel #17
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('menu', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('date', sa.DateTime(), nullable=True),
                    sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('date'))
    op.create_table('revoked_tokens',
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('token', sa.String(), nullable=True),
                    sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_revoked_tokens_token'),
                    'revoked_tokens', ['token'],
                    unique=False)
    op.create_table('user', sa.Column('user_id', sa.Integer(), nullable=False),
                    sa.Column('email', sa.String(), nullable=False),
                    sa.Column('username', sa.String(), nullable=False),
                    sa.Column('password_hash', sa.String(), nullable=False),
                    sa.Column('admin', sa.Boolean(), nullable=True),
                    sa.Column('super_user', sa.Boolean(), nullable=True),
                    sa.PrimaryKeyConstraint('user_id'),
                    sa.UniqueConstraint('email'),
                    sa.UniqueConstraint('username'))
    op.create_table(
        'meal', sa.Column('meal_id', sa.Integer(), nullable=False),
        sa.Column('name', sa.String(length=40), nullable=False),
        sa.Column('price', sa.Float(), nullable=False),
        sa.Column('description', sa.String(length=250), nullable=False),
        sa.Column('user_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['user_id'],
            ['user.user_id'],
        ), sa.PrimaryKeyConstraint('meal_id'))
    op.create_table('order', sa.Column('order_id',
                                       sa.Integer(),
                                       nullable=False),
                    sa.Column('time_ordered', sa.Float(), nullable=True),
                    sa.Column('due_time', sa.DateTime(), nullable=True),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['user.user_id'],
                    ), sa.PrimaryKeyConstraint('order_id'))
    op.create_table(
        'meals_assoc', sa.Column('meal_id', sa.Integer(), nullable=False),
        sa.Column('order_id', sa.Integer(), nullable=False),
        sa.Column('quantity', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['meal_id'],
            ['meal.meal_id'],
        ), sa.ForeignKeyConstraint(
            ['order_id'],
            ['order.order_id'],
        ), sa.PrimaryKeyConstraint('meal_id', 'order_id'))
    op.create_table('menu_meals',
                    sa.Column('menu_id', sa.Integer(), nullable=True),
                    sa.Column('meal_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['meal_id'],
                        ['meal.meal_id'],
                    ), sa.ForeignKeyConstraint(
                        ['menu_id'],
                        ['menu.id'],
                    ))
Beispiel #18
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'addresses', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('address1', sa.String(length=255), nullable=True),
        sa.Column('address2', sa.String(length=255), nullable=True),
        sa.Column('city', sa.String(length=100), nullable=True),
        sa.Column('state', sa.String(length=100), nullable=True),
        sa.Column('country', sa.String(length=100), nullable=True),
        sa.Column('postal_code', sa.String(length=25), nullable=True),
        sa.Column('created_at',
                  sa.DateTime(),
                  server_default=sa.text('CURRENT_TIMESTAMP'),
                  nullable=True),
        sa.Column('updated_at',
                  sa.DateTime(),
                  server_default=sa.text('CURRENT_TIMESTAMP'),
                  nullable=True), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'users', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('first_name', sa.String(length=45), nullable=False),
        sa.Column('last_name', sa.String(length=45), nullable=False),
        sa.Column('email', sa.String(length=100), nullable=False),
        sa.Column('password', sa.String(length=255), nullable=False),
        sa.Column('approval_id',
                  sa.Integer(),
                  server_default='1',
                  nullable=True),
        sa.Column('created_at',
                  sa.DateTime(),
                  server_default=sa.text('CURRENT_TIMESTAMP'),
                  nullable=True),
        sa.Column('updated_at',
                  sa.DateTime(),
                  server_default=sa.text('CURRENT_TIMESTAMP'),
                  nullable=True), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'items', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('category', sa.String(length=255), nullable=False),
        sa.Column('name', sa.String(length=45), nullable=False),
        sa.Column('description', sa.String(length=255), nullable=False),
        sa.Column('price', sa.Integer(), nullable=False),
        sa.Column('created_at',
                  sa.DateTime(),
                  server_default=sa.text('CURRENT_TIMESTAMP'),
                  nullable=True),
        sa.Column('updated_at',
                  sa.DateTime(),
                  server_default=sa.text('CURRENT_TIMESTAMP'),
                  nullable=True),
        sa.Column('fkey_item_user_id', sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(
            ['fkey_item_user_id'],
            ['users.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'orders', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_at',
                  sa.DateTime(),
                  server_default=sa.text('CURRENT_TIMESTAMP'),
                  nullable=True),
        sa.Column('updated_at',
                  sa.DateTime(),
                  server_default=sa.text('CURRENT_TIMESTAMP'),
                  nullable=True),
        sa.Column('fkey_order_user_id', sa.Integer(), nullable=False),
        sa.Column('fkey_order_address_id', sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(
            ['fkey_order_address_id'],
            ['addresses.id'],
        ), sa.ForeignKeyConstraint(
            ['fkey_order_user_id'],
            ['users.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'tours', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('venue_name', sa.String(length=45), nullable=False),
        sa.Column('event_date', sa.DateTime(), nullable=True),
        sa.Column('created_at',
                  sa.DateTime(),
                  server_default=sa.text('CURRENT_TIMESTAMP'),
                  nullable=True),
        sa.Column('updated_at',
                  sa.DateTime(),
                  server_default=sa.text('CURRENT_TIMESTAMP'),
                  nullable=True),
        sa.Column('fkey_tour_user_id', sa.Integer(), nullable=False),
        sa.Column('fkey_tour_address_id', sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(
            ['fkey_tour_address_id'],
            ['addresses.id'],
        ), sa.ForeignKeyConstraint(
            ['fkey_tour_user_id'],
            ['users.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table('orders_items',
                    sa.Column('order_id', sa.Integer(), nullable=False),
                    sa.Column('item_id', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['item_id'],
                        ['items.id'],
                    ), sa.ForeignKeyConstraint(
                        ['order_id'],
                        ['orders.id'],
                    ), sa.PrimaryKeyConstraint('order_id', 'item_id'))
Beispiel #19
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('student',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('firstname', sa.String(length=64), nullable=True),
    sa.Column('lastname', sa.String(length=64), nullable=True),
    sa.Column('email', sa.String(length=100), nullable=True),
    sa.Column('address_1', sa.String(length=200), nullable=True),
    sa.Column('address_2', sa.String(length=200), nullable=True),
    sa.Column('city', sa.String(length=200), nullable=True),
    sa.Column('state', sa.String(length=200), nullable=True),
    sa.Column('zip_code', sa.String(length=200), nullable=True),
    sa.Column('date_created', sa.DateTime(), nullable=True),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_student_email'), 'student', ['email'], unique=True)
    op.create_table('users',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('firstname', sa.String(length=64), nullable=True),
    sa.Column('lastname', sa.String(length=64), nullable=True),
    sa.Column('email', sa.String(length=100), nullable=True),
    sa.Column('address_1', sa.String(length=200), nullable=True),
    sa.Column('address_2', sa.String(length=200), nullable=True),
    sa.Column('city', sa.String(length=200), nullable=True),
    sa.Column('state', sa.String(length=200), nullable=True),
    sa.Column('zip_code', sa.String(length=200), nullable=True),
    sa.Column('password_hash', sa.String(length=128), nullable=True),
    sa.Column('date_created', sa.DateTime(), nullable=True),
    sa.Column('last_seen', sa.DateTime(), nullable=True),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_users_email'), 'users', ['email'], unique=True)
    op.create_table('studentprofile',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('student_id', sa.Integer(), nullable=True),
    sa.Column('school', sa.String(length=64), nullable=True),
    sa.Column('sex', sa.String(length=64), nullable=True),
    sa.Column('age', sa.String(length=64), nullable=True),
    sa.Column('address', sa.String(length=225), nullable=True),
    sa.Column('famsize', sa.String(length=64), nullable=True),
    sa.Column('pstatus', sa.String(length=64), nullable=True),
    sa.Column('medu', sa.String(length=64), nullable=True),
    sa.Column('fedu', sa.String(length=64), nullable=True),
    sa.Column('mjob', sa.String(length=64), nullable=True),
    sa.Column('fjob', sa.String(length=64), nullable=True),
    sa.Column('reason', sa.String(length=64), nullable=True),
    sa.Column('guardian', sa.String(length=64), nullable=True),
    sa.Column('traveltime', sa.String(length=64), nullable=True),
    sa.Column('studytime', sa.String(length=64), nullable=True),
    sa.Column('failures', sa.String(length=64), nullable=True),
    sa.Column('schoolsup', sa.String(length=64), nullable=True),
    sa.Column('famsup', sa.String(length=64), nullable=True),
    sa.Column('paid', sa.String(length=64), nullable=True),
    sa.Column('activities', sa.String(length=64), nullable=True),
    sa.Column('nursery', sa.String(length=64), nullable=True),
    sa.Column('higher', sa.String(length=64), nullable=True),
    sa.Column('internet', sa.String(length=64), nullable=True),
    sa.Column('romantic', sa.String(length=64), nullable=True),
    sa.Column('famrel', sa.String(length=64), nullable=True),
    sa.Column('freetime', sa.String(length=64), nullable=True),
    sa.Column('goout', sa.String(length=64), nullable=True),
    sa.Column('dalc', sa.String(length=64), nullable=True),
    sa.Column('walc', sa.String(length=64), nullable=True),
    sa.Column('health', sa.String(length=64), nullable=True),
    sa.Column('absences', sa.String(length=64), nullable=True),
    sa.ForeignKeyConstraint(['student_id'], ['student.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
def upgrade():
    trade_lot_states = op.create_table(
        'trade_lot_states',
        sa.Column('identifier', sa.Unicode(), nullable=False),
        sa.PrimaryKeyConstraint('identifier')
    )

    op.bulk_insert(trade_lot_states, [
        {'identifier': 'draft'},
        {'identifier': 'proposed'},
        {'identifier': 'accepted'},
        {'identifier': 'rejected'}
    ])

    op.create_table(
        'trade_lots',
        sa.Column('id', sa.Integer, nullable=False, primary_key=True),
        sa.Column('trade_id', sa.Integer, sa.ForeignKey('trades.id'),
                  nullable=False),
        sa.Column('in_exchange_for_id', sa.Integer,
                  sa.ForeignKey('trade_lots.id'), nullable=True),
        sa.Column('sender_id', sa.Integer, sa.ForeignKey('trainers.id'),
                  nullable=True),
        sa.Column('recipient_id', sa.Integer, sa.ForeignKey('trainers.id'),
                  nullable=True),
        sa.Column('state', sa.Unicode,
                  sa.ForeignKey('trade_lot_states.identifier'),
                  nullable=False),
        sa.Column('money', sa.Integer, nullable=True),
        sa.Column('notify_recipient', sa.Boolean, nullable=False),

        sa.UniqueConstraint('id', 'trade_id', 'sender_id', 'recipient_id'),
        sa.ForeignKeyConstraint(
            ['in_exchange_for_id', 'trade_id', 'recipient_id', 'sender_id'],
            ['trade_lots.id', 'trade_lots.trade_id', 'trade_lots.sender_id',
             'trade_lots.recipient_id']
        )
    )

    op.create_table(
        'trade_lot_pokemon',
        sa.Column('id', sa.Integer, primary_key=True),
        sa.Column('trade_lot_id', sa.Integer, sa.ForeignKey('trade_lots.id'),
                  nullable=False),
        sa.Column('pokemon_id', sa.Integer, sa.ForeignKey('pokemon.id'),
                  nullable=True)
    )

    op.create_table(
        'trade_lot_items',
        sa.Column('id', sa.Integer, primary_key=True),
        sa.Column('trade_lot_id', sa.Integer, sa.ForeignKey('trade_lots.id'),
                  nullable=False),
        sa.Column('trainer_item_id', sa.Integer,
                  sa.ForeignKey('trainer_items.id'), nullable=True),
        sa.Column('item_id', sa.Integer, sa.ForeignKey('items.id'),
                  nullable=False)
    )

    op.drop_constraint('pokemon_trader_fkey', 'pokemon')
    op.drop_constraint('pokemon_trade_id_fkey', 'pokemon')
    op.drop_column('pokemon', 'trade_id')

    op.drop_constraint('item_trader_fkey', 'trainer_items')
    op.drop_constraint('trainer_items_trade_id_fkey', 'trainer_items')
    op.drop_column('trainer_items', 'trade_id')

    op.drop_table('trade_trainers')

    op.add_column('trades', sa.Column('completed', sa.Boolean, nullable=False))
    op.add_column('trades', sa.Column('reveal_date', sa.Date(), nullable=True))
    op.drop_column('trades', 'approved')
Beispiel #21
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'Artist', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('name', sa.String(), nullable=True),
        sa.Column('city', sa.String(length=120), nullable=True),
        sa.Column('state', sa.String(length=120), nullable=True),
        sa.Column('phone', sa.String(length=120), nullable=True),
        sa.Column('image_link', sa.String(length=500), nullable=True),
        sa.Column('facebook_link', sa.String(length=120), nullable=True),
        sa.Column('website', sa.String(length=120), nullable=True),
        sa.Column('seeking_venue', sa.Boolean(), nullable=True),
        sa.Column('seeking_description', sa.String(length=120), nullable=True),
        sa.PrimaryKeyConstraint('id'))
    op.create_table('Genre', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(), nullable=True),
                    sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'Venue', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('name', sa.String(), nullable=True),
        sa.Column('city', sa.String(length=120), nullable=True),
        sa.Column('state', sa.String(length=120), nullable=True),
        sa.Column('address', sa.String(length=120), nullable=True),
        sa.Column('phone', sa.String(length=120), nullable=True),
        sa.Column('image_link', sa.String(length=500), nullable=True),
        sa.Column('facebook_link', sa.String(length=120), nullable=True),
        sa.Column('website', sa.String(length=120), nullable=True),
        sa.Column('seeking_talent', sa.Boolean(), nullable=True),
        sa.Column('seeking_description', sa.String(length=120), nullable=True),
        sa.PrimaryKeyConstraint('id'))
    op.create_table('Show', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('start_time', sa.DateTime(), nullable=False),
                    sa.Column('artist_id', sa.Integer(), nullable=False),
                    sa.Column('venue_id', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['artist_id'],
                        ['Artist.id'],
                    ), sa.ForeignKeyConstraint(
                        ['venue_id'],
                        ['Venue.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('artist_genre_table',
                    sa.Column('genre_id', sa.Integer(), nullable=False),
                    sa.Column('artist_id', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['artist_id'],
                        ['Artist.id'],
                    ), sa.ForeignKeyConstraint(
                        ['genre_id'],
                        ['Genre.id'],
                    ), sa.PrimaryKeyConstraint('genre_id', 'artist_id'))
    op.create_table('venue_genre_table',
                    sa.Column('genre_id', sa.Integer(), nullable=False),
                    sa.Column('venue_id', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['genre_id'],
                        ['Genre.id'],
                    ), sa.ForeignKeyConstraint(
                        ['venue_id'],
                        ['Venue.id'],
                    ), sa.PrimaryKeyConstraint('genre_id', 'venue_id'))
Beispiel #22
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('adsense_type',
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(), nullable=False),
                    sa.PrimaryKeyConstraint('id'))
    op.create_table('image', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('path', sa.Unicode(length=128), nullable=True),
                    sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'role', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('name', sa.String(length=80), nullable=True),
        sa.Column('description', sa.String(length=255), nullable=True),
        sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name'))
    op.create_table(
        'siteconfiguration', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('name', sa.String(), nullable=False),
        sa.Column('tagline', sa.String(), nullable=False),
        sa.Column('show_registration_menu', sa.Boolean(), nullable=True),
        sa.Column('youtube_link', sa.String(), nullable=True),
        sa.Column('ga_tracking_code', sa.String(), nullable=True),
        sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'user', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('email', sa.String(length=255), nullable=True),
        sa.Column('password', sa.String(length=255), nullable=True),
        sa.Column('active', sa.Boolean(), nullable=True),
        sa.Column('confirmed_at', sa.DateTime(), nullable=True),
        sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('email'))
    op.create_table(
        'adsense_code', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('code', sa.String(), nullable=True),
        sa.Column('adstype_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['adstype_id'],
            ['adsense_type.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table('page', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('title', sa.String(), nullable=False),
                    sa.Column('excerpt', sa.String(), nullable=True),
                    sa.Column('content', sa.String(), nullable=True),
                    sa.Column('tag', sa.String(), nullable=True),
                    sa.Column('keyword', sa.String(), nullable=True),
                    sa.Column('is_homepage', sa.Boolean(), nullable=True),
                    sa.Column('subtype', sa.String(), nullable=True),
                    sa.Column('subtype_data', sa.String(), nullable=True),
                    sa.Column('stamp', sa.DateTime(), nullable=True),
                    sa.Column('category', sa.String(), nullable=True),
                    sa.Column('url', sa.String(), nullable=False),
                    sa.Column('image_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['image_id'],
                        ['image.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('roles_users',
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.Column('role_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['role_id'],
                        ['role.id'],
                    ), sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['user.id'],
                    ))
    op.create_table('menu', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('title', sa.String(), nullable=False),
                    sa.Column('order', sa.Integer(), nullable=False),
                    sa.Column('page_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['page_id'],
                        ['page.id'],
                    ), sa.PrimaryKeyConstraint('id'))
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        "group",
        sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
        sa.Column("name", sa.String(length=32), nullable=False),
        sa.Column(
            "capabilities",
            postgresql.ARRAY(sa.Text()),
            server_default="{}",
            nullable=False,
        ),
        sa.Column("private", sa.Boolean(), nullable=True),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_index(op.f("ix_group_name"), "group", ["name"], unique=True)
    op.create_table(
        "metakey_definition",
        sa.Column("key", sa.String(length=64), nullable=False),
        sa.Column("label", sa.String(length=64), nullable=True),
        sa.Column("description", sa.Text(), nullable=True),
        sa.Column("url_template", sa.Text(), nullable=True),
        sa.Column("hidden", sa.Boolean(), nullable=False),
        sa.PrimaryKeyConstraint("key"),
    )
    op.create_table(
        "object",
        sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
        sa.Column("type", sa.String(length=50), nullable=True),
        sa.Column("dhash", sa.String(length=64), nullable=True),
        sa.Column("upload_time", sa.DateTime(), nullable=False),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_index(op.f("ix_object_dhash"), "object", ["dhash"], unique=True)
    op.create_index(
        op.f("ix_object_upload_time"), "object", ["upload_time"], unique=False
    )
    op.create_table(
        "tag",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("tag", sa.String(), nullable=False),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_index(op.f("ix_tag_tag"), "tag", ["tag"], unique=True)
    op.create_table(
        "user",
        sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
        sa.Column("login", sa.String(length=32), nullable=False),
        sa.Column("email", sa.String(length=128), nullable=True),
        sa.Column("password_hash", sa.String(length=128), nullable=True),
        sa.Column("version_uid", sa.String(length=16), nullable=True),
        sa.Column("password_ver", sa.String(length=16), nullable=True),
        sa.Column("identity_ver", sa.String(length=16), nullable=True),
        sa.Column("additional_info", sa.String(), nullable=True),
        sa.Column("disabled", sa.Boolean(), nullable=False),
        sa.Column("pending", sa.Boolean(), nullable=False),
        sa.Column("requested_on", sa.DateTime(), nullable=True),
        sa.Column("registered_on", sa.DateTime(), nullable=True),
        sa.Column("registered_by", sa.Integer(), nullable=True),
        sa.Column("logged_on", sa.DateTime(), nullable=True),
        sa.Column("set_password_on", sa.DateTime(), nullable=True),
        sa.Column(
            "feed_quality", sa.String(length=32), server_default="high", nullable=True
        ),
        sa.ForeignKeyConstraint(
            ["registered_by"],
            ["user.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_index(op.f("ix_user_login"), "user", ["login"], unique=True)
    op.create_table(
        "api_key",
        sa.Column("id", postgresql.UUID(as_uuid=True), nullable=False),
        sa.Column("user_id", sa.Integer(), nullable=False),
        sa.Column("issued_on", sa.DateTime(), nullable=True),
        sa.Column("issued_by", sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ["issued_by"],
            ["user.id"],
        ),
        sa.ForeignKeyConstraint(
            ["user_id"],
            ["user.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_table(
        "comment",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("comment", sa.String(), nullable=False),
        sa.Column("timestamp", sa.DateTime(), nullable=False),
        sa.Column("object_id", sa.Integer(), nullable=True),
        sa.Column("user_id", sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ["object_id"],
            ["object.id"],
        ),
        sa.ForeignKeyConstraint(
            ["user_id"],
            ["user.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_table(
        "file",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("file_name", sa.String(), nullable=True),
        sa.Column("file_size", sa.Integer(), nullable=False),
        sa.Column("file_type", sa.Text(), nullable=True),
        sa.Column("md5", sa.String(length=32), nullable=False),
        sa.Column("crc32", sa.String(length=8), nullable=False),
        sa.Column("sha1", sa.String(length=40), nullable=False),
        sa.Column("sha256", sa.String(length=64), nullable=False),
        sa.Column("sha512", sa.String(length=128), nullable=False),
        sa.Column("humanhash", sa.String(), nullable=False),
        sa.Column("ssdeep", sa.String(length=255), nullable=True),
        sa.ForeignKeyConstraint(
            ["id"],
            ["object.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_index(op.f("ix_file_crc32"), "file", ["crc32"], unique=False)
    op.create_index(op.f("ix_file_file_name"), "file", ["file_name"], unique=False)
    op.create_index(op.f("ix_file_file_size"), "file", ["file_size"], unique=False)
    op.create_index(op.f("ix_file_file_type"), "file", ["file_type"], unique=False)
    op.create_index(op.f("ix_file_humanhash"), "file", ["humanhash"], unique=False)
    op.create_index(op.f("ix_file_md5"), "file", ["md5"], unique=False)
    op.create_index(op.f("ix_file_sha1"), "file", ["sha1"], unique=False)
    op.create_index(op.f("ix_file_sha256"), "file", ["sha256"], unique=True)
    op.create_index(op.f("ix_file_sha512"), "file", ["sha512"], unique=False)
    op.create_index(op.f("ix_file_ssdeep"), "file", ["ssdeep"], unique=False)
    op.create_table(
        "member",
        sa.Column("user_id", sa.Integer(), nullable=True),
        sa.Column("group_id", sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ["group_id"],
            ["group.id"],
        ),
        sa.ForeignKeyConstraint(
            ["user_id"],
            ["user.id"],
        ),
    )
    op.create_table(
        "metakey",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("object_id", sa.Integer(), nullable=True),
        sa.Column("key", sa.String(length=64), nullable=True),
        sa.Column("value", sa.Text(), nullable=True),
        sa.ForeignKeyConstraint(
            ["key"],
            ["metakey_definition.key"],
        ),
        sa.ForeignKeyConstraint(
            ["object_id"],
            ["object.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
        sa.UniqueConstraint("object_id", "key", "value"),
    )
    op.create_index(op.f("ix_metakey_key"), "metakey", ["key"], unique=False)
    op.create_index(op.f("ix_metakey_value"), "metakey", ["value"], unique=False)
    op.create_table(
        "metakey_permission",
        sa.Column("key", sa.String(length=64), nullable=False),
        sa.Column("group_id", sa.Integer(), autoincrement=False, nullable=False),
        sa.Column("can_read", sa.Boolean(), nullable=False),
        sa.Column("can_set", sa.Boolean(), nullable=False),
        sa.ForeignKeyConstraint(
            ["group_id"],
            ["group.id"],
        ),
        sa.ForeignKeyConstraint(
            ["key"],
            ["metakey_definition.key"],
        ),
        sa.PrimaryKeyConstraint("key", "group_id"),
    )
    op.create_index(
        op.f("ix_metakey_permission_group_id"),
        "metakey_permission",
        ["group_id"],
        unique=False,
    )
    op.create_index(
        op.f("ix_metakey_permission_key"), "metakey_permission", ["key"], unique=False
    )
    op.create_index(
        "ix_metakey_permission_metakey_group",
        "metakey_permission",
        ["key", "group_id"],
        unique=True,
    )
    op.create_table(
        "object_tag",
        sa.Column("object_id", sa.Integer(), nullable=True),
        sa.Column("tag_id", sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ["object_id"],
            ["object.id"],
        ),
        sa.ForeignKeyConstraint(
            ["tag_id"],
            ["tag.id"],
        ),
    )
    op.create_index(
        "ix_object_tag_object_child", "object_tag", ["object_id", "tag_id"], unique=True
    )
    op.create_index(
        op.f("ix_object_tag_object_id"), "object_tag", ["object_id"], unique=False
    )
    op.create_index(
        op.f("ix_object_tag_tag_id"), "object_tag", ["tag_id"], unique=False
    )
    op.create_table(
        "permission",
        sa.Column("object_id", sa.Integer(), autoincrement=False, nullable=False),
        sa.Column("group_id", sa.Integer(), autoincrement=False, nullable=False),
        sa.Column("access_time", sa.DateTime(), nullable=False),
        sa.Column("reason_type", sa.String(length=32), nullable=True),
        sa.Column("related_object_id", sa.Integer(), nullable=True),
        sa.Column("related_user_id", sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ["group_id"],
            ["group.id"],
        ),
        sa.ForeignKeyConstraint(
            ["object_id"],
            ["object.id"],
        ),
        sa.ForeignKeyConstraint(
            ["related_object_id"],
            ["object.id"],
        ),
        sa.ForeignKeyConstraint(
            ["related_user_id"],
            ["user.id"],
        ),
        sa.PrimaryKeyConstraint("object_id", "group_id"),
    )
    op.create_index(
        op.f("ix_permission_access_time"), "permission", ["access_time"], unique=False
    )
    op.create_index(
        op.f("ix_permission_group_id"), "permission", ["group_id"], unique=False
    )
    op.create_index(
        "ix_permission_group_object",
        "permission",
        ["object_id", "group_id"],
        unique=True,
    )
    op.create_index(
        op.f("ix_permission_object_id"), "permission", ["object_id"], unique=False
    )
    op.create_index(
        op.f("ix_permission_related_user_id"),
        "permission",
        ["related_user_id"],
        unique=False,
    )
    op.create_table(
        "relation",
        sa.Column("parent_id", sa.Integer(), nullable=True),
        sa.Column("child_id", sa.Integer(), nullable=True),
        sa.Column("creation_time", sa.DateTime(), nullable=True),
        sa.ForeignKeyConstraint(
            ["child_id"],
            ["object.id"],
        ),
        sa.ForeignKeyConstraint(
            ["parent_id"],
            ["object.id"],
        ),
    )
    op.create_index(
        op.f("ix_relation_child_id"), "relation", ["child_id"], unique=False
    )
    op.create_index(
        "ix_relation_parent_child", "relation", ["parent_id", "child_id"], unique=True
    )
    op.create_index(
        op.f("ix_relation_parent_id"), "relation", ["parent_id"], unique=False
    )
    op.create_table(
        "static_config",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("family", sa.String(length=32), nullable=True),
        sa.Column(
            "config_type", sa.String(length=32), server_default="static", nullable=False
        ),
        sa.Column("cfg", postgresql.JSON(astext_type=sa.Text()), nullable=False),
        sa.ForeignKeyConstraint(
            ["id"],
            ["object.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_index(
        op.f("ix_static_config_config_type"),
        "static_config",
        ["config_type"],
        unique=False,
    )
    op.create_index(
        op.f("ix_static_config_family"), "static_config", ["family"], unique=False
    )
    op.create_table(
        "text_blob",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("blob_name", sa.String(), nullable=True),
        sa.Column("blob_size", sa.Integer(), nullable=False),
        sa.Column("blob_type", sa.String(length=32), nullable=True),
        sa.Column("content", sa.String(), nullable=False),
        sa.Column("last_seen", sa.DateTime(), nullable=False),
        sa.ForeignKeyConstraint(
            ["id"],
            ["object.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_index(
        op.f("ix_text_blob_blob_name"), "text_blob", ["blob_name"], unique=False
    )
    op.create_index(
        op.f("ix_text_blob_blob_size"), "text_blob", ["blob_size"], unique=False
    )
    op.create_index(
        op.f("ix_text_blob_blob_type"), "text_blob", ["blob_type"], unique=False
    )
    op.create_index(
        op.f("ix_text_blob_last_seen"), "text_blob", ["last_seen"], unique=False
    )
Beispiel #24
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('categories', sa.Column('id', sa.Integer(),
                                            nullable=False),
                    sa.Column('name', sa.String(length=255), nullable=True),
                    sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'users', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('username', sa.String(length=255), nullable=True),
        sa.Column('email', sa.String(length=225), nullable=True),
        sa.Column('pass_secure', sa.String(length=255), nullable=True),
        sa.Column('bio', sa.String(length=255), nullable=True),
        sa.Column('profile_pic_path', sa.String(), nullable=True),
        sa.Column('password_hash', sa.String(length=255), nullable=True),
        sa.PrimaryKeyConstraint('id'))
    op.create_index(op.f('ix_users_email'), 'users', ['email'], unique=True)
    op.create_index(op.f('ix_users_username'),
                    'users', ['username'],
                    unique=False)
    op.create_table('photoprofiles',
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('pic_path', sa.String(), nullable=True),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['users.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('pitches', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(length=255), nullable=True),
                    sa.Column('title', sa.String(length=255), nullable=True),
                    sa.Column('content', sa.String(length=255), nullable=True),
                    sa.Column('category', sa.Integer(), nullable=True),
                    sa.Column('vote', sa.Integer(), nullable=True),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['category'],
                        ['categories.id'],
                    ), sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['users.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('comments', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.Column('pitch_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['pitch_id'],
                        ['pitches.id'],
                    ), sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['users.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('votes', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(length=225), nullable=True),
                    sa.Column('vote', sa.Integer(), nullable=True),
                    sa.Column('pitch_id', sa.Integer(), nullable=True),
                    sa.Column('comment_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['comment_id'],
                        ['comments.id'],
                    ), sa.ForeignKeyConstraint(
                        ['pitch_id'],
                        ['pitches.id'],
                    ), sa.PrimaryKeyConstraint('id'))
Beispiel #25
0
def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.create_table('groups', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(), nullable=True),
                    sa.Column('shared_computer', sa.Boolean(), nullable=True),
                    sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name'))
    op.create_table(
        'simulations', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('title', sa.String(length=100), nullable=True),
        sa.Column('folder_name', sa.String(length=50), nullable=True),
        sa.Column('preview_image_filename',
                  sa.String(length=50),
                  nullable=True),
        sa.Column('preview_image_credit', sa.String(length=200),
                  nullable=True),
        sa.Column('desc', sa.String(length=500), nullable=True),
        sa.Column('first_page_id', sa.Integer(), nullable=True),
        sa.Column('order', sa.Integer(), nullable=True),
        sa.Column('password', sa.String(length=50), nullable=True),
        sa.Column('enabled', sa.Boolean(), nullable=True),
        sa.Column('show_library', sa.Boolean(), nullable=True),
        sa.Column('library', sa.String(length=5000), nullable=True),
        sa.PrimaryKeyConstraint('id'))
    op.create_table('pages', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('title', sa.String(length=100), nullable=True),
                    sa.Column('sim_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['sim_id'],
                        ['simulations.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('actions', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(length=200), nullable=True),
                    sa.Column('value', sa.String(length=200), nullable=True),
                    sa.Column('page_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['page_id'],
                        ['pages.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'choices', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('type', sa.String(length=200), nullable=True),
        sa.Column('text', sa.String(length=200), nullable=True),
        sa.Column('destination', sa.String(length=200), nullable=True),
        sa.Column('tag', sa.String(length=200), nullable=True),
        sa.Column('page_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['page_id'],
            ['pages.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'links', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('order', sa.Integer(), nullable=True),
        sa.Column('show', sa.String(length=1000), nullable=True),
        sa.Column('button_text', sa.String(length=200), nullable=True),
        sa.Column('top_text', sa.String(length=100), nullable=True),
        sa.Column('show_well', sa.Boolean(), nullable=True),
        sa.Column('page_src_id', sa.Integer(), nullable=True),
        sa.Column('page_dest_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['page_dest_id'],
            ['pages.id'],
        ), sa.ForeignKeyConstraint(
            ['page_src_id'],
            ['pages.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table('page_modifiers',
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(length=200), nullable=True),
                    sa.Column('value', sa.String(length=200), nullable=True),
                    sa.Column('page_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['page_id'],
                        ['pages.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'sections', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('content', sa.String(length=10000), nullable=True),
        sa.Column('order', sa.Integer(), nullable=True),
        sa.Column('show', sa.String(length=1000), nullable=True),
        sa.Column('page_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['page_id'],
            ['pages.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table('users', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('name', sa.String(length=100), nullable=True),
                    sa.Column('last_page', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['last_page'],
                        ['pages.id'],
                    ), sa.PrimaryKeyConstraint('id'),
                    sa.UniqueConstraint('name'))
    op.create_table('group_users', sa.Column('id',
                                             sa.Integer(),
                                             nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.Column('group_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['group_id'],
                        ['groups.id'],
                    ), sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['users.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'linkactions', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('type', sa.Integer(), nullable=True),
        sa.Column('icon', sa.String(length=50), nullable=True),
        sa.Column('action_string', sa.String(length=5000), nullable=True),
        sa.Column('link_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['link_id'],
            ['links.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table('logged_in_users',
                    sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.Column('timestamp', sa.DateTime(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['users.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'logs', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('timestamp', sa.DateTime(), nullable=True),
        sa.Column('content', sa.String(length=2000), nullable=True),
        sa.Column('user_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(
            ['user_id'],
            ['users.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'notes', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('timestamp', sa.DateTime(), nullable=True),
        sa.Column('content', sa.String(length=2000), nullable=True),
        sa.Column('icon', sa.String(length=20), nullable=True),
        sa.Column('user_id', sa.Integer(), nullable=True),
        sa.Column('tag', sa.String(length=200), nullable=True),
        sa.ForeignKeyConstraint(
            ['user_id'],
            ['users.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table('prompts', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('order', sa.Integer(), nullable=True),
                    sa.Column('prompt', sa.String(length=300), nullable=True),
                    sa.Column('required', sa.Boolean(), nullable=True),
                    sa.Column('text_area', sa.Boolean(), nullable=True),
                    sa.Column('var_name', sa.String(length=50), nullable=True),
                    sa.Column('link_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['link_id'],
                        ['links.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('sim_users', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.Column('sim_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['sim_id'],
                        ['simulations.id'],
                    ), sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['users.id'],
                    ), sa.PrimaryKeyConstraint('id'))
def upgrade():
    op.create_table(
        "kirby_mcq",
        sa.Column(
            "patient_id",
            sa.Integer(),
            nullable=False,
            comment="(TASK) Foreign key to patient.id (for this device/era)",
        ),
        sa.Column(
            "when_created",
            PendulumDateTimeAsIsoTextColType(length=32),
            nullable=False,
            comment=(
                "(TASK) Date/time this task instance was created (ISO 8601)"),
        ),
        sa.Column(
            "when_firstexit",
            PendulumDateTimeAsIsoTextColType(length=32),
            nullable=True,
            comment=(
                "(TASK) Date/time of the first exit from this task (ISO 8601)"
            ),
        ),
        sa.Column(
            "firstexit_is_finish",
            sa.Boolean(),
            nullable=True,
            comment=("(TASK) Was the first exit from the task because it was"
                     " finished (1)?"),
        ),
        sa.Column(
            "firstexit_is_abort",
            sa.Boolean(),
            nullable=True,
            comment=("(TASK) Was the first exit from this task because it was"
                     " aborted (1)?"),
        ),
        sa.Column(
            "editing_time_s",
            sa.Float(),
            nullable=True,
            comment="(TASK) Time spent editing (s)",
        ),
        sa.Column(
            "_pk",
            sa.Integer(),
            autoincrement=True,
            nullable=False,
            comment="(SERVER) Primary key (on the server)",
        ),
        sa.Column(
            "_device_id",
            sa.Integer(),
            nullable=False,
            comment="(SERVER) ID of the source tablet device",
        ),
        sa.Column(
            "_era",
            sa.String(length=32),
            nullable=False,
            comment=(
                "(SERVER) 'NOW', or when this row was preserved and removed"
                " from the source device (UTC ISO 8601)"),
        ),
        sa.Column(
            "_current",
            sa.Boolean(),
            nullable=False,
            comment="(SERVER) Is the row current (1) or not (0)?",
        ),
        sa.Column(
            "_when_added_exact",
            PendulumDateTimeAsIsoTextColType(length=32),
            nullable=True,
            comment="(SERVER) Date/time this row was added (ISO 8601)",
        ),
        sa.Column(
            "_when_added_batch_utc",
            sa.DateTime(),
            nullable=True,
            comment=(
                "(SERVER) Date/time of the upload batch that added this row"
                " (DATETIME in UTC)"),
        ),
        sa.Column(
            "_adding_user_id",
            sa.Integer(),
            nullable=True,
            comment="(SERVER) ID of user that added this row",
        ),
        sa.Column(
            "_when_removed_exact",
            PendulumDateTimeAsIsoTextColType(length=32),
            nullable=True,
            comment=("(SERVER) Date/time this row was removed, i.e. made not"
                     " current (ISO 8601)"),
        ),
        sa.Column(
            "_when_removed_batch_utc",
            sa.DateTime(),
            nullable=True,
            comment=(
                "(SERVER) Date/time of the upload batch that removed this row"
                " (DATETIME in UTC)"),
        ),
        sa.Column(
            "_removing_user_id",
            sa.Integer(),
            nullable=True,
            comment="(SERVER) ID of user that removed this row",
        ),
        sa.Column(
            "_preserving_user_id",
            sa.Integer(),
            nullable=True,
            comment="(SERVER) ID of user that preserved this row",
        ),
        sa.Column(
            "_forcibly_preserved",
            sa.Boolean(),
            nullable=True,
            comment=("(SERVER) Forcibly preserved by superuser (rather than"
                     " normally preserved by tablet)?"),
        ),
        sa.Column(
            "_predecessor_pk",
            sa.Integer(),
            nullable=True,
            comment="(SERVER) PK of predecessor record, prior to modification",
        ),
        sa.Column(
            "_successor_pk",
            sa.Integer(),
            nullable=True,
            comment=(
                "(SERVER) PK of successor record  (after modification) or NULL"
                " (whilst live, or after deletion)"),
        ),
        sa.Column(
            "_manually_erased",
            sa.Boolean(),
            nullable=True,
            comment="(SERVER) Record manually erased (content destroyed)?",
        ),
        sa.Column(
            "_manually_erased_at",
            PendulumDateTimeAsIsoTextColType(length=32),
            nullable=True,
            comment="(SERVER) Date/time of manual erasure (ISO 8601)",
        ),
        sa.Column(
            "_manually_erasing_user_id",
            sa.Integer(),
            nullable=True,
            comment="(SERVER) ID of user that erased this row manually",
        ),
        sa.Column(
            "_camcops_version",
            SemanticVersionColType(length=147),
            nullable=True,
            comment="(SERVER) CamCOPS version number of the uploading device",
        ),
        sa.Column(
            "_addition_pending",
            sa.Boolean(),
            nullable=False,
            comment="(SERVER) Addition pending?",
        ),
        sa.Column(
            "_removal_pending",
            sa.Boolean(),
            nullable=True,
            comment="(SERVER) Removal pending?",
        ),
        sa.Column(
            "_group_id",
            sa.Integer(),
            nullable=False,
            comment="(SERVER) ID of group to which this record belongs",
        ),
        sa.Column(
            "id",
            sa.Integer(),
            nullable=False,
            comment="(TASK) Primary key (task ID) on the tablet device",
        ),
        sa.Column(
            "when_last_modified",
            PendulumDateTimeAsIsoTextColType(length=32),
            nullable=True,
            comment=(
                "(STANDARD) Date/time this row was last modified on the source"
                " tablet device (ISO 8601)"),
        ),
        sa.Column(
            "_move_off_tablet",
            sa.Boolean(),
            nullable=True,
            comment="(SERVER/TABLET) Record-specific preservation pending?",
        ),
        sa.ForeignKeyConstraint(
            ["_adding_user_id"],
            ["_security_users.id"],
            name=op.f("fk_kirby_mcq__adding_user_id"),
        ),
        sa.ForeignKeyConstraint(
            ["_device_id"],
            ["_security_devices.id"],
            name=op.f("fk_kirby_mcq__device_id"),
        ),
        sa.ForeignKeyConstraint(
            ["_group_id"],
            ["_security_groups.id"],
            name=op.f("fk_kirby_mcq__group_id"),
        ),
        sa.ForeignKeyConstraint(
            ["_manually_erasing_user_id"],
            ["_security_users.id"],
            name=op.f("fk_kirby_mcq__manually_erasing_user_id"),
        ),
        sa.ForeignKeyConstraint(
            ["_preserving_user_id"],
            ["_security_users.id"],
            name=op.f("fk_kirby_mcq__preserving_user_id"),
        ),
        sa.ForeignKeyConstraint(
            ["_removing_user_id"],
            ["_security_users.id"],
            name=op.f("fk_kirby_mcq__removing_user_id"),
        ),
        sa.PrimaryKeyConstraint("_pk", name=op.f("pk_kirby_mcq")),
        mysql_charset="utf8mb4 COLLATE utf8mb4_unicode_ci",
        mysql_engine="InnoDB",
        mysql_row_format="DYNAMIC",
    )
    with op.batch_alter_table("kirby_mcq", schema=None) as batch_op:
        batch_op.create_index(batch_op.f("ix_kirby_mcq__current"),
                              ["_current"],
                              unique=False)
        batch_op.create_index(batch_op.f("ix_kirby_mcq__device_id"),
                              ["_device_id"],
                              unique=False)
        batch_op.create_index(batch_op.f("ix_kirby_mcq__era"), ["_era"],
                              unique=False)
        batch_op.create_index(batch_op.f("ix_kirby_mcq__group_id"),
                              ["_group_id"],
                              unique=False)
        batch_op.create_index(batch_op.f("ix_kirby_mcq__pk"), ["_pk"],
                              unique=False)
        batch_op.create_index(batch_op.f("ix_kirby_mcq_id"), ["id"],
                              unique=False)
        batch_op.create_index(batch_op.f("ix_kirby_mcq_patient_id"),
                              ["patient_id"],
                              unique=False)
        batch_op.create_index(
            batch_op.f("ix_kirby_mcq_when_last_modified"),
            ["when_last_modified"],
            unique=False,
        )

    op.create_table(
        "kirby_mcq_trials",
        sa.Column(
            "kirby_mcq_id",
            sa.Integer(),
            nullable=False,
            comment="FK to kirby_mcq",
        ),
        sa.Column(
            "trial",
            sa.Integer(),
            nullable=False,
            comment="Trial number (1-based)",
        ),
        sa.Column(
            "sir",
            sa.Integer(),
            nullable=True,
            comment="Small immediate reward",
        ),
        sa.Column("ldr",
                  sa.Integer(),
                  nullable=True,
                  comment="Large delayed reward"),
        sa.Column("delay_days",
                  sa.Integer(),
                  nullable=True,
                  comment="Delay in days"),
        sa.Column(
            "currency",
            sa.Unicode(length=3),
            nullable=True,
            comment="Currency symbol",
        ),
        sa.Column(
            "currency_symbol_first",
            sa.Boolean(),
            nullable=True,
            comment="Does the currency symbol come before the amount?",
        ),
        sa.Column(
            "chose_ldr",
            sa.Boolean(),
            nullable=True,
            comment="Did the subject choose the large delayed reward?",
        ),
        sa.Column(
            "_pk",
            sa.Integer(),
            autoincrement=True,
            nullable=False,
            comment="(SERVER) Primary key (on the server)",
        ),
        sa.Column(
            "_device_id",
            sa.Integer(),
            nullable=False,
            comment="(SERVER) ID of the source tablet device",
        ),
        sa.Column(
            "_era",
            sa.String(length=32),
            nullable=False,
            comment=(
                "(SERVER) 'NOW', or when this row was preserved and removed"
                " from the source device (UTC ISO 8601)"),
        ),
        sa.Column(
            "_current",
            sa.Boolean(),
            nullable=False,
            comment="(SERVER) Is the row current (1) or not (0)?",
        ),
        sa.Column(
            "_when_added_exact",
            PendulumDateTimeAsIsoTextColType(length=32),
            nullable=True,
            comment="(SERVER) Date/time this row was added (ISO 8601)",
        ),
        sa.Column(
            "_when_added_batch_utc",
            sa.DateTime(),
            nullable=True,
            comment=(
                "(SERVER) Date/time of the upload batch that added this row"
                " (DATETIME in UTC)"),
        ),
        sa.Column(
            "_adding_user_id",
            sa.Integer(),
            nullable=True,
            comment="(SERVER) ID of user that added this row",
        ),
        sa.Column(
            "_when_removed_exact",
            PendulumDateTimeAsIsoTextColType(length=32),
            nullable=True,
            comment=("(SERVER) Date/time this row was removed, i.e. made not"
                     " current (ISO 8601)"),
        ),
        sa.Column(
            "_when_removed_batch_utc",
            sa.DateTime(),
            nullable=True,
            comment=(
                "(SERVER) Date/time of the upload batch that removed this row"
                " (DATETIME in UTC)"),
        ),
        sa.Column(
            "_removing_user_id",
            sa.Integer(),
            nullable=True,
            comment="(SERVER) ID of user that removed this row",
        ),
        sa.Column(
            "_preserving_user_id",
            sa.Integer(),
            nullable=True,
            comment="(SERVER) ID of user that preserved this row",
        ),
        sa.Column(
            "_forcibly_preserved",
            sa.Boolean(),
            nullable=True,
            comment=("(SERVER) Forcibly preserved by superuser (rather than"
                     " normally preserved by tablet)?"),
        ),
        sa.Column(
            "_predecessor_pk",
            sa.Integer(),
            nullable=True,
            comment="(SERVER) PK of predecessor record, prior to modification",
        ),
        sa.Column(
            "_successor_pk",
            sa.Integer(),
            nullable=True,
            comment=(
                "(SERVER) PK of successor record  (after modification) or NULL"
                " (whilst live, or after deletion)"),
        ),
        sa.Column(
            "_manually_erased",
            sa.Boolean(),
            nullable=True,
            comment="(SERVER) Record manually erased (content destroyed)?",
        ),
        sa.Column(
            "_manually_erased_at",
            PendulumDateTimeAsIsoTextColType(length=32),
            nullable=True,
            comment="(SERVER) Date/time of manual erasure (ISO 8601)",
        ),
        sa.Column(
            "_manually_erasing_user_id",
            sa.Integer(),
            nullable=True,
            comment="(SERVER) ID of user that erased this row manually",
        ),
        sa.Column(
            "_camcops_version",
            SemanticVersionColType(length=147),
            nullable=True,
            comment="(SERVER) CamCOPS version number of the uploading device",
        ),
        sa.Column(
            "_addition_pending",
            sa.Boolean(),
            nullable=False,
            comment="(SERVER) Addition pending?",
        ),
        sa.Column(
            "_removal_pending",
            sa.Boolean(),
            nullable=True,
            comment="(SERVER) Removal pending?",
        ),
        sa.Column(
            "_group_id",
            sa.Integer(),
            nullable=False,
            comment="(SERVER) ID of group to which this record belongs",
        ),
        sa.Column(
            "id",
            sa.Integer(),
            nullable=False,
            comment="(TASK) Primary key (task ID) on the tablet device",
        ),
        sa.Column(
            "when_last_modified",
            PendulumDateTimeAsIsoTextColType(length=32),
            nullable=True,
            comment=(
                "(STANDARD) Date/time this row was last modified on the source"
                " tablet device (ISO 8601)"),
        ),
        sa.Column(
            "_move_off_tablet",
            sa.Boolean(),
            nullable=True,
            comment="(SERVER/TABLET) Record-specific preservation pending?",
        ),
        sa.ForeignKeyConstraint(
            ["_adding_user_id"],
            ["_security_users.id"],
            name=op.f("fk_kirby_mcq_trials__adding_user_id"),
        ),
        sa.ForeignKeyConstraint(
            ["_device_id"],
            ["_security_devices.id"],
            name=op.f("fk_kirby_mcq_trials__device_id"),
        ),
        sa.ForeignKeyConstraint(
            ["_group_id"],
            ["_security_groups.id"],
            name=op.f("fk_kirby_mcq_trials__group_id"),
        ),
        sa.ForeignKeyConstraint(
            ["_manually_erasing_user_id"],
            ["_security_users.id"],
            name=op.f("fk_kirby_mcq_trials__manually_erasing_user_id"),
        ),
        sa.ForeignKeyConstraint(
            ["_preserving_user_id"],
            ["_security_users.id"],
            name=op.f("fk_kirby_mcq_trials__preserving_user_id"),
        ),
        sa.ForeignKeyConstraint(
            ["_removing_user_id"],
            ["_security_users.id"],
            name=op.f("fk_kirby_mcq_trials__removing_user_id"),
        ),
        sa.PrimaryKeyConstraint("_pk", name=op.f("pk_kirby_mcq_trials")),
        mysql_charset="utf8mb4 COLLATE utf8mb4_unicode_ci",
        mysql_engine="InnoDB",
        mysql_row_format="DYNAMIC",
    )
    with op.batch_alter_table("kirby_mcq_trials", schema=None) as batch_op:
        batch_op.create_index(
            batch_op.f("ix_kirby_mcq_trials__current"),
            ["_current"],
            unique=False,
        )
        batch_op.create_index(
            batch_op.f("ix_kirby_mcq_trials__device_id"),
            ["_device_id"],
            unique=False,
        )
        batch_op.create_index(batch_op.f("ix_kirby_mcq_trials__era"), ["_era"],
                              unique=False)
        batch_op.create_index(
            batch_op.f("ix_kirby_mcq_trials__group_id"),
            ["_group_id"],
            unique=False,
        )
        batch_op.create_index(batch_op.f("ix_kirby_mcq_trials__pk"), ["_pk"],
                              unique=False)
        batch_op.create_index(batch_op.f("ix_kirby_mcq_trials_id"), ["id"],
                              unique=False)
        batch_op.create_index(
            batch_op.f("ix_kirby_mcq_trials_when_last_modified"),
            ["when_last_modified"],
            unique=False,
        )
Beispiel #27
0
def upgrade():
    battles_id_seq = sa.Sequence('battles_id_seq')
    battle_trainers_id_seq = sa.Sequence('battle_trainers_id_seq')
    battle_pokemon_id_seq = sa.Sequence('battle_pokemon_id_seq')

    connection = op.get_bind()

    battles_id_seq.create(bind=connection)
    battle_trainers_id_seq.create(bind=connection)
    battle_pokemon_id_seq.create(bind=connection)

    op.create_table(
        'battles', sa.Column('id',
                             sa.Integer(),
                             battles_id_seq,
                             nullable=False),
        sa.Column('identifier', sa.Unicode(), nullable=False),
        sa.Column('name', sa.Unicode(), nullable=False),
        sa.Column('start_date', sa.Date(), nullable=False),
        sa.Column('end_date', sa.Date(), nullable=True),
        sa.Column('tcodf_thread_id', sa.Integer(), nullable=True),
        sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('identifier'),
        sa.UniqueConstraint('identifier'), sa.UniqueConstraint('name'),
        sa.UniqueConstraint('name'))

    op.create_table(
        'battle_teams', sa.Column('battle_id', sa.Integer(), nullable=False),
        sa.Column('team_number',
                  sa.Integer(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('won', sa.Boolean(), nullable=False),
        sa.ForeignKeyConstraint(
            ['battle_id'],
            ['battles.id'],
        ), sa.PrimaryKeyConstraint('battle_id', 'team_number'))

    op.create_table(
        'battle_referees', sa.Column('battle_id', sa.Integer(),
                                     nullable=False),
        sa.Column('trainer_id', sa.Integer(), nullable=False),
        sa.Column('is_emergency_ref', sa.Boolean(), nullable=False),
        sa.ForeignKeyConstraint(
            ['battle_id'],
            ['battles.id'],
        ), sa.ForeignKeyConstraint(
            ['trainer_id'],
            ['trainers.id'],
        ), sa.PrimaryKeyConstraint('battle_id', 'trainer_id'))

    op.create_table(
        'battle_trainers',
        sa.Column('id', sa.Integer(), battle_trainers_id_seq, nullable=False),
        sa.Column('battle_id', sa.Integer(), nullable=False),
        sa.Column('trainer_id', sa.Integer(), nullable=False),
        sa.Column('name', sa.Unicode(), nullable=False),
        sa.Column('team_number',
                  sa.Integer(),
                  autoincrement=False,
                  nullable=True),
        sa.ForeignKeyConstraint(
            ['battle_id', 'team_number'],
            ['battle_teams.battle_id', 'battle_teams.team_number'],
            name='battle_trainer_team_fkey'),
        sa.ForeignKeyConstraint(
            ['battle_id'],
            ['battles.id'],
        ), sa.ForeignKeyConstraint(
            ['trainer_id'],
            ['trainers.id'],
        ), sa.PrimaryKeyConstraint('id'),
        sa.UniqueConstraint('battle_id', 'trainer_id'))

    op.create_table(
        'battle_pokemon',
        sa.Column('id', sa.Integer(), battle_pokemon_id_seq, nullable=False),
        sa.Column('pokemon_id', sa.Integer(), nullable=True),
        sa.Column('battle_trainer_id', sa.Integer(), nullable=False),
        sa.Column('name', sa.Unicode(), nullable=False),
        sa.Column('pokemon_form_id', sa.Integer(), nullable=False),
        sa.Column('ability_slot', sa.Integer(), nullable=False),
        sa.Column('item_id', sa.Integer(), nullable=True),
        sa.Column('gender_id', sa.Integer(), nullable=True),
        sa.Column('experience', sa.Integer(), nullable=False),
        sa.Column('happiness', sa.Integer(), nullable=False),
        sa.Column('participated', sa.Boolean(), nullable=False),
        sa.ForeignKeyConstraint(['battle_trainer_id'], ['battle_trainers.id']),
        sa.ForeignKeyConstraint(
            ['item_id'],
            ['items.id'],
        ), sa.ForeignKeyConstraint(['pokemon_form_id'], ['pokemon_forms.id']),
        sa.ForeignKeyConstraint(
            ['pokemon_id'],
            ['pokemon.id'],
        ), sa.ForeignKeyConstraint(
            ['gender_id'],
            ['genders.id'],
        ),
        sa.ForeignKeyConstraint(['pokemon_form_id', 'ability_slot'], [
            'pokemon_form_abilities.pokemon_form_id',
            'pokemon_form_abilities.slot'
        ], 'battle_pokemon_ability_fkey'), sa.PrimaryKeyConstraint('id'))
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'crop', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('crop_name', sa.String(length=255), nullable=True),
        sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('crop_name'))
    op.create_table(
        'field', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('location', sa.String(length=255), nullable=True),
        sa.Column('size', sa.Integer(), nullable=True),
        sa.Column('field_name', sa.String(length=255), nullable=True),
        sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('field_name'))
    op.create_table(
        'images', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('image_path', sa.String(length=255), nullable=True),
        sa.Column('year', sa.Integer(), nullable=True),
        sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'map', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('coordinates', sa.String(length=255), nullable=True),
        sa.Column('field', sa.String(length=255), nullable=True),
        sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'user', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('first_name', sa.String(length=255), nullable=True),
        sa.Column('last_name', sa.String(length=255), nullable=True),
        sa.Column('admin', sa.Integer(), server_default='0', nullable=True),
        sa.Column('email', sa.String(length=255), nullable=True),
        sa.Column('password', sa.String(length=255), nullable=True),
        sa.Column('created_at',
                  sa.DateTime(),
                  server_default=sa.text('(CURRENT_TIMESTAMP)'),
                  nullable=True),
        sa.Column('updated_at',
                  sa.DateTime(),
                  server_default=sa.text('(CURRENT_TIMESTAMP)'),
                  nullable=True), sa.PrimaryKeyConstraint('id'))
    op.create_table(
        'harvest', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('year', sa.Integer(), nullable=True),
        sa.Column('harvest_yield', sa.String(length=255), nullable=True),
        sa.Column('crop_id', sa.Integer(), nullable=False),
        sa.Column('field_id', sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(
            ['crop_id'],
            ['crop.id'],
        ), sa.ForeignKeyConstraint(
            ['field_id'],
            ['field.id'],
        ), sa.PrimaryKeyConstraint('id'))
    op.create_table('crop_harvest',
                    sa.Column('crop_id', sa.Integer(), nullable=False),
                    sa.Column('harvest_id', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['crop_id'],
                        ['crop.id'],
                    ), sa.ForeignKeyConstraint(
                        ['harvest_id'],
                        ['harvest.id'],
                    ), sa.PrimaryKeyConstraint('crop_id', 'harvest_id'))
    op.create_table('field_harvest',
                    sa.Column('field_id', sa.Integer(), nullable=False),
                    sa.Column('harvest_id', sa.Integer(), nullable=False),
                    sa.ForeignKeyConstraint(
                        ['field_id'],
                        ['field.id'],
                    ), sa.ForeignKeyConstraint(
                        ['harvest_id'],
                        ['harvest.id'],
                    ), sa.PrimaryKeyConstraint('field_id', 'harvest_id'))
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'category', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('category', sa.String(length=200), nullable=True),
        sa.Column('timestamp', sa.DateTime(), nullable=True),
        sa.Column('post_id', sa.Integer(), nullable=True),
        sa.Column('software_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(['post_id'], ['post.id'],
                                name=op.f('fk_category_post_id_post')),
        sa.ForeignKeyConstraint(['software_id'], ['software.id'],
                                name=op.f('fk_category_software_id_software')),
        sa.PrimaryKeyConstraint('id', name=op.f('pk_category')))
    with op.batch_alter_table('category', schema=None) as batch_op:
        batch_op.create_index(batch_op.f('ix_category_category'), ['category'],
                              unique=False)
        batch_op.create_index(batch_op.f('ix_category_timestamp'),
                              ['timestamp'],
                              unique=False)

    op.create_table(
        'report', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('name', sa.String(length=200), nullable=True),
        sa.Column('description', sa.String(length=500), nullable=True),
        sa.Column('type', sa.String(length=200), nullable=True),
        sa.Column('timestamp', sa.DateTime(), nullable=True),
        sa.Column('post_id', sa.Integer(), nullable=True),
        sa.Column('software_id', sa.Integer(), nullable=True),
        sa.ForeignKeyConstraint(['post_id'], ['post.id'],
                                name=op.f('fk_report_post_id_post')),
        sa.ForeignKeyConstraint(['software_id'], ['software.id'],
                                name=op.f('fk_report_software_id_software')),
        sa.PrimaryKeyConstraint('id', name=op.f('pk_report')))
    with op.batch_alter_table('report', schema=None) as batch_op:
        batch_op.create_index(batch_op.f('ix_report_description'),
                              ['description'],
                              unique=False)
        batch_op.create_index(batch_op.f('ix_report_name'), ['name'],
                              unique=False)
        batch_op.create_index(batch_op.f('ix_report_timestamp'), ['timestamp'],
                              unique=False)
        batch_op.create_index(batch_op.f('ix_report_type'), ['type'],
                              unique=False)

    op.drop_table('categoria')
    with op.batch_alter_table('denuncia', schema=None) as batch_op:
        batch_op.drop_index('ix_denuncia_descricao')
        batch_op.drop_index('ix_denuncia_tipo')

    op.drop_table('denuncia')
    with op.batch_alter_table('comment', schema=None) as batch_op:
        batch_op.add_column(
            sa.Column('software_id', sa.Integer(), nullable=True))
        batch_op.create_foreign_key(
            batch_op.f('fk_comment_software_id_software'), 'software',
            ['software_id'], ['id'])

    with op.batch_alter_table('post', schema=None) as batch_op:
        batch_op.drop_index('ix_post_categorie')
        batch_op.drop_index('ix_post_tag')
        batch_op.drop_column('tag')
        batch_op.drop_column('categorie')

    with op.batch_alter_table('software', schema=None) as batch_op:
        batch_op.drop_index('ix_software_categorie')
        batch_op.drop_index('ix_software_tag')
        batch_op.drop_column('tag')
        batch_op.drop_column('categorie')

    with op.batch_alter_table('tag', schema=None) as batch_op:
        batch_op.add_column(sa.Column('post_id', sa.Integer(), nullable=True))
        batch_op.add_column(
            sa.Column('software_id', sa.Integer(), nullable=True))
        batch_op.add_column(
            sa.Column('tag', sa.String(length=200), nullable=True))
        batch_op.add_column(
            sa.Column('timestamp', sa.DateTime(), nullable=True))
        batch_op.create_index(batch_op.f('ix_tag_tag'), ['tag'], unique=False)
        batch_op.create_index(batch_op.f('ix_tag_timestamp'), ['timestamp'],
                              unique=False)
        batch_op.drop_index('ix_tag_palavraChave')
        batch_op.create_foreign_key(batch_op.f('fk_tag_software_id_software'),
                                    'software', ['software_id'], ['id'])
        batch_op.create_foreign_key(batch_op.f('fk_tag_post_id_post'), 'post',
                                    ['post_id'], ['id'])
        batch_op.drop_column('palavraChave')
Beispiel #30
0
def upgrade():
    # Rename score table to answer_criterion_score
    try:
        # expected foreign key to follow naming conventions
        with op.batch_alter_table('score',
                                  naming_convention=convention) as batch_op:
            # drop the fk before altering the column
            batch_op.drop_constraint('fk_score_assignment_id_assignment',
                                     'foreignkey')
            batch_op.drop_constraint('fk_score_answer_id_answer', 'foreignkey')
            batch_op.drop_constraint('fk_score_criterion_id_criterion',
                                     'foreignkey')
    except sa.exc.InternalError:
        # if not, it is likely this name
        with op.batch_alter_table('score') as batch_op:
            # drop the fk before altering the column
            batch_op.drop_constraint('score_ibfk_1', 'foreignkey')
            batch_op.drop_constraint('score_ibfk_2', 'foreignkey')
            batch_op.drop_constraint('score_ibfk_3', 'foreignkey')

    op.rename_table('score', 'answer_criterion_score')

    with op.batch_alter_table('answer_criterion_score',
                              naming_convention=convention) as batch_op:
        # create the fk
        batch_op.create_foreign_key(
            'fk_answer_criterion_score_assignment_id_assignment',
            'assignment', ['assignment_id'], ['id'],
            ondelete="CASCADE")
        batch_op.create_foreign_key(
            'fk_answer_criterion_score_answer_id_answer',
            'answer', ['answer_id'], ['id'],
            ondelete="CASCADE")
        batch_op.create_foreign_key(
            'fk_answer_criterion_score_criterion_id_criterion',
            'criterion', ['criterion_id'], ['id'],
            ondelete="CASCADE")

    # create new answer_score table
    answer_score_table = op.create_table(
        'answer_score',
        sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('assignment_id', sa.Integer(), nullable=False),
        sa.Column('answer_id', sa.Integer(), nullable=False),
        sa.Column('scoring_algorithm',
                  EnumType(ScoringAlgorithm),
                  nullable=True),
        sa.Column('score', sa.Float(), nullable=False),
        sa.Column('variable1', sa.Float(), nullable=True),
        sa.Column('variable2', sa.Float(), nullable=True),
        sa.Column('rounds', sa.Integer(), nullable=False),
        sa.Column('wins', sa.Integer(), nullable=False),
        sa.Column('loses', sa.Integer(), nullable=False),
        sa.Column('opponents', sa.Integer(), nullable=False),
        sa.Column('modified_user_id', sa.Integer(), nullable=True),
        sa.Column('modified', sa.DateTime(), nullable=False),
        sa.Column('created_user_id', sa.Integer(), nullable=True),
        sa.Column('created', sa.DateTime(), nullable=False),
        sa.ForeignKeyConstraint(['answer_id'], ['answer.id'],
                                ondelete='CASCADE'),
        sa.ForeignKeyConstraint(['assignment_id'], ['assignment.id'],
                                ondelete='CASCADE'),
        sa.ForeignKeyConstraint(['created_user_id'], ['user.id'],
                                ondelete='SET NULL'),
        sa.ForeignKeyConstraint(['modified_user_id'], ['user.id'],
                                ondelete='SET NULL'),
        sa.PrimaryKeyConstraint('id'),
        sa.UniqueConstraint('answer_id'),
        mysql_charset='utf8',
        mysql_collate='utf8_unicode_ci',
        mysql_engine='InnoDB')
    op.create_index(op.f('ix_answer_score_score'),
                    'answer_score', ['score'],
                    unique=False)

    # migrate aggregate data from answer_criteria_score to answer_score
    answer_criterion_score_table = sa.table(
        'answer_criterion_score', sa.column('id', sa.Integer),
        sa.Column('assignment_id', sa.Integer),
        sa.Column('answer_id', sa.Integer),
        sa.Column('criterion_id', sa.Integer),
        sa.Column('scoring_algorithm', EnumType(ScoringAlgorithm)),
        sa.Column('score', sa.Float), sa.Column('variable1', sa.Float),
        sa.Column('variable2', sa.Float), sa.Column('rounds', sa.Integer),
        sa.Column('wins', sa.Integer), sa.Column('loses', sa.Integer),
        sa.Column('opponents', sa.Integer))

    connection = op.get_bind()

    answer_scores = {}
    for answer_criterion_score in connection.execute(
            answer_criterion_score_table.select()):
        answer_scores.setdefault(
            answer_criterion_score.answer_id,
            {
                'assignment_id': answer_criterion_score.assignment_id,
                'answer_id': answer_criterion_score.answer_id,
                'scoring_algorithm': answer_criterion_score.scoring_algorithm,
                'rounds': answer_criterion_score.rounds,
                'wins': answer_criterion_score.wins,
                'loses': answer_criterion_score.loses,
                'opponents': answer_criterion_score.opponents,
                # to be averaged
                'score': [],
                'variable1': [],
                'variable2': []
            })

        answer_scores[answer_criterion_score.answer_id]['score'].append(
            answer_criterion_score.score)
        if answer_criterion_score.variable1:
            answer_scores[
                answer_criterion_score.answer_id]['variable1'].append(
                    answer_criterion_score.variable1)
        if answer_criterion_score.variable2:
            answer_scores[
                answer_criterion_score.answer_id]['variable2'].append(
                    answer_criterion_score.variable2)

    for answer_id, score in answer_scores.items():
        average_score = sum(score['score']) / float(len(
            score['score'])) if len(score['score']) else 0
        average_variable1 = sum(score['variable1']) / float(
            len(score['variable1'])) if len(score['variable1']) else None
        average_variable2 = sum(score['variable2']) / float(
            len(score['variable2'])) if len(score['variable2']) else None

        connection.execute(answer_score_table.insert().values(
            assignment_id=score['assignment_id'],
            answer_id=score['answer_id'],
            scoring_algorithm=score['scoring_algorithm'],
            rounds=score['rounds'],
            wins=score['wins'],
            loses=score['loses'],
            opponents=score['opponents'],
            score=average_score,
            variable1=average_variable1,
            variable2=average_variable2,
            modified=datetime.utcnow(),
            created=datetime.utcnow()))