def upgrade(): op.create_table( 'print_job', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('admin_id', residue.UUID(), nullable=False), sa.Column('admin_name', sa.Unicode(), server_default='', nullable=False), sa.Column('printer_id', sa.Unicode(), server_default='', nullable=False), sa.Column('reg_station', sa.Integer(), nullable=True), sa.Column('queued', residue.UTCDateTime(), nullable=True), sa.Column('printed', residue.UTCDateTime(), nullable=True), sa.Column('errors', sa.Unicode(), server_default='', nullable=False), sa.Column('is_minor', sa.Boolean(), nullable=False), sa.Column('json_data', postgresql.JSONB(astext_type=sa.Text()), nullable=False), sa.ForeignKeyConstraint( ['admin_id'], ['admin_account.id'], name=op.f('fk_print_queue_admin_id_admin_account')), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_print_queue_attendee_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_print_queue')))
def upgrade(): if is_sqlite: with op.batch_alter_table( 'attendee', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.add_column( sa.Column('confirmed', residue.UTCDateTime(), nullable=True)) else: op.add_column( 'attendee', sa.Column('confirmed', residue.UTCDateTime(), nullable=True))
def upgrade(): op.add_column( 'art_show_application', sa.Column('checked_in', residue.UTCDateTime(), nullable=True)) op.add_column( 'art_show_application', sa.Column('checked_out', residue.UTCDateTime(), nullable=True)) op.add_column( 'art_show_application', sa.Column('locations', sa.Unicode(), server_default='', nullable=False))
def upgrade(): op.create_table( 'receipt_item', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=True), sa.Column('group_id', residue.UUID(), nullable=True), sa.Column('txn_id', residue.UUID(), nullable=True), sa.Column('fk_id', residue.UUID(), nullable=True), sa.Column('model', sa.Unicode(), server_default='', nullable=False), sa.Column('txn_type', sa.Integer(), server_default='186441959', nullable=False), sa.Column('item_type', sa.Integer(), server_default='224685583', nullable=False), sa.Column('amount', sa.Integer(), nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.Column('who', sa.Unicode(), server_default='', nullable=False), sa.Column('desc', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_receipt_item_attendee_id_attendee'), ondelete='SET NULL'), sa.ForeignKeyConstraint(['group_id'], ['group.id'], name=op.f('fk_receipt_item_group_id_group'), ondelete='SET NULL'), sa.ForeignKeyConstraint( ['txn_id'], ['stripe_transaction.id'], name=op.f('fk_receipt_item_txn_id_stripe_transaction'), ondelete='SET NULL'), sa.PrimaryKeyConstraint('id', name=op.f('pk_receipt_item')))
def upgrade(): op.create_table( 'api_token', sa.Column('id', residue.UUID(), nullable=False), sa.Column('admin_account_id', residue.UUID(), nullable=False), sa.Column('token', residue.UUID(), nullable=False), sa.Column('access', sa.Unicode(), server_default='', nullable=False), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.Column('issued_time', residue.UTCDateTime(), nullable=False), sa.Column('revoked_time', residue.UTCDateTime(), nullable=True), sa.ForeignKeyConstraint( ['admin_account_id'], ['admin_account.id'], name=op.f('fk_api_token_admin_account_id_admin_account')), sa.PrimaryKeyConstraint('id', name=op.f('pk_api_token')))
def upgrade(): op.add_column('promo_code', sa.Column('cost', sa.Integer(), nullable=True)) op.add_column( 'promo_code_group', sa.Column('registered', residue.UTCDateTime(), server_default=sa.text("timezone('utc', current_timestamp)"), nullable=False))
def upgrade(): op.create_table('api_job', sa.Column('id', residue.UUID(), nullable=False), sa.Column('admin_id', residue.UUID(), nullable=False), sa.Column('admin_name', sa.Unicode(), server_default='', nullable=False), sa.Column('queued', residue.UTCDateTime(), nullable=True), sa.Column('completed', residue.UTCDateTime(), nullable=True), sa.Column('cancelled', residue.UTCDateTime(), nullable=True), sa.Column('job_name', sa.Unicode(), server_default='', nullable=False), sa.Column('target_server', sa.Unicode(), server_default='', nullable=False), sa.Column('query', sa.Unicode(), server_default='', nullable=False), sa.Column('api_token', sa.Unicode(), server_default='', nullable=False), sa.Column('errors', sa.Unicode(), server_default='', nullable=False), sa.Column('json_data', postgresql.JSONB(astext_type=sa.Text()), nullable=False), sa.ForeignKeyConstraint(['admin_id'], ['admin_account.id'], name=op.f('fk_api_job_admin_id_admin_account')), sa.PrimaryKeyConstraint('id', name=op.f('pk_api_job')) )
def upgrade(): op.create_table('attraction', sa.Column('id', residue.UUID(), nullable=False), sa.Column('name', sa.Unicode(), server_default='', nullable=False, unique=True), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.Column('notifications', residue.JSON(), server_default='[]', nullable=False), sa.Column('required_checkin', sa.Integer(), server_default='0', nullable=False), sa.Column('restriction', sa.Integer(), server_default='0', nullable=False), sa.Column('department_id', residue.UUID(), nullable=True), sa.Column('owner_id', residue.UUID(), nullable=False), sa.ForeignKeyConstraint(['department_id'], ['department.id'], name=op.f('fk_attraction_department_id_department')), sa.ForeignKeyConstraint(['owner_id'], ['admin_account.id'], name=op.f('fk_attraction_owner_id_admin_account')), sa.PrimaryKeyConstraint('id', name=op.f('pk_attraction')), ) op.create_table('attraction_feature', sa.Column('id', residue.UUID(), nullable=False), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.Column('attraction_id', residue.UUID(), nullable=False), sa.ForeignKeyConstraint(['attraction_id'], ['attraction.id'], name=op.f('fk_attraction_feature_attraction_id_attraction')), sa.PrimaryKeyConstraint('id', name=op.f('pk_attraction_feature')), sa.UniqueConstraint('name', 'attraction_id'), ) op.create_table('attraction_event', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attraction_feature_id', residue.UUID(), nullable=False), sa.Column('location', sa.Integer(), nullable=False), sa.Column('start_time', residue.UTCDateTime(), nullable=False), sa.Column('duration', sa.Integer(), server_default='900', nullable=False), sa.Column('slots', sa.Integer(), server_default='1', nullable=False), sa.ForeignKeyConstraint(['attraction_feature_id'], ['attraction_feature.id'], name=op.f('fk_attraction_event_attraction_feature_id_attraction_feature')), sa.PrimaryKeyConstraint('id', name=op.f('pk_attraction_event')), ) op.create_table('attraction_signup', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attraction_event_id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('signup_time', residue.UTCDateTime(), server_default=sa.text(utcnow_server_default), nullable=False), sa.Column('checkin_time', residue.UTCDateTime(), nullable=True), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_attraction_signup_attendee_id_attendee')), sa.ForeignKeyConstraint(['attraction_event_id'], ['attraction_event.id'], name=op.f('fk_attraction_signup_attraction_event_id_attraction_event')), sa.PrimaryKeyConstraint('id', name=op.f('pk_attraction_signup')), sa.UniqueConstraint('attraction_event_id', 'attendee_id', name=op.f('uq_attraction_signup_attraction_event_id')) )
def upgrade(): op.add_column( 'mits_team', sa.Column('waiver_signature', sa.Unicode(), server_default='', nullable=False)) op.add_column( 'mits_team', sa.Column('waiver_signed', residue.UTCDateTime(), nullable=True))
def upgrade(): op.create_table('marketplace_application', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=True), sa.Column('business_name', sa.Unicode(), server_default='', nullable=False), sa.Column('status', sa.Integer(), server_default='172070601', nullable=False), sa.Column('registered', residue.UTCDateTime(), server_default=sa.text("timezone('utc', current_timestamp)"), nullable=False), sa.Column('approved', residue.UTCDateTime(), nullable=True), sa.Column('categories', sa.Unicode(), server_default='', nullable=False), sa.Column('categories_text', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.Column('special_needs', sa.Unicode(), server_default='', nullable=False), sa.Column('admin_notes', sa.Unicode(), server_default='', nullable=False), sa.Column('base_price', sa.Integer(), server_default='0', nullable=False), sa.Column('overridden_price', sa.Integer(), nullable=True), sa.Column('amount_paid', sa.Integer(), server_default='0', nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_marketplace_application_attendee_id_attendee'), ondelete='SET NULL'), sa.PrimaryKeyConstraint('id', name=op.f('pk_marketplace_application')) ) op.create_index(op.f('ix_marketplace_application_amount_paid'), 'marketplace_application', ['amount_paid'], unique=False)
def upgrade(): op.create_table( 'art_show_receipt', sa.Column('id', residue.UUID(), nullable=False), sa.Column('invoice_num', sa.Integer(), server_default='0', nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=True), sa.Column('closed', residue.UTCDateTime(), nullable=True), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_art_show_receipt_attendee_id_attendee'), ondelete='SET NULL'), sa.PrimaryKeyConstraint('id', name=op.f('pk_art_show_receipt'))) op.create_table( 'art_show_payment', sa.Column('id', residue.UUID(), nullable=False), sa.Column('receipt_id', residue.UUID(), nullable=True), sa.Column('amount', sa.Integer(), server_default='0', nullable=False), sa.Column('type', sa.Integer(), server_default='180350097', nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.ForeignKeyConstraint( ['receipt_id'], ['art_show_receipt.id'], name=op.f('fk_art_show_payment_receipt_id_art_show_receipt'), ondelete='SET NULL'), sa.PrimaryKeyConstraint('id', name=op.f('pk_art_show_payment'))) op.add_column('art_show_piece', sa.Column('receipt_id', residue.UUID(), nullable=True)) op.add_column( 'art_show_piece', sa.Column('winning_bid', sa.Integer(), server_default='0', nullable=True)) op.create_foreign_key( op.f('fk_art_show_piece_receipt_id_art_show_receipt'), 'art_show_piece', 'art_show_receipt', ['receipt_id'], ['id'], ondelete='SET NULL')
def upgrade(): op.create_table('art_show_bidder', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=True), sa.Column('bidder_num', sa.Unicode(), server_default='', nullable=False), sa.Column('hotel_name', sa.Unicode(), server_default='', nullable=False), sa.Column('hotel_room_num', sa.Unicode(), server_default='', nullable=False), sa.Column('admin_notes', sa.Unicode(), server_default='', nullable=False), sa.Column('signed_up', residue.UTCDateTime(), nullable=True), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_art_show_bidder_attendee_id_attendee'), ondelete='SET NULL'), sa.PrimaryKeyConstraint('id', name=op.f('pk_art_show_bidder')) )
def downgrade(): op.drop_index(op.f('ix_attraction_notification_reply_sid'), table_name='attraction_notification_reply') op.drop_table('attraction_notification_reply') op.drop_index(op.f('ix_attraction_notification_ident'), table_name='attraction_notification') op.drop_table('attraction_notification') op.drop_index(op.f('ix_attraction_signup_checkin_time'), table_name='attraction_signup') op.drop_index(op.f('ix_attraction_event_attraction_id'), table_name='attraction_event') op.alter_column('attraction', 'advance_checkin', new_column_name='required_checkin') op.alter_column('attraction', 'advance_notices', new_column_name='notifications') op.alter_column('attraction_signup', 'signup_time', existing_type=residue.UTCDateTime(), server_default=text(utcnow_server_default)) op.alter_column('attraction_signup', 'checkin_time', existing_type=residue.UTCDateTime(), nullable=True) op.drop_constraint(op.f('fk_attraction_signup_attraction_id_attraction'), 'attraction_signup', type_='foreignkey') op.drop_constraint(op.f('fk_attraction_event_attraction_id_attraction'), 'attraction_event', type_='foreignkey') op.drop_column('attraction_signup', 'attraction_id') op.drop_column('attraction_event', 'attraction_id') op.drop_column('attendee', 'notification_pref') op.drop_column('attendee', 'attractions_opt_out')
def upgrade(): op.create_table('stripe_transaction', sa.Column('id', residue.UUID(), nullable=False), sa.Column('stripe_id', sa.Unicode(), server_default='', nullable=True), sa.Column('type', sa.Integer(), server_default='186441959', nullable=False), sa.Column('amount', sa.Integer(), nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.Column('who', sa.Unicode(), server_default='', nullable=False), sa.Column('desc', sa.Unicode(), server_default='', nullable=False), sa.Column('fk_id', residue.UUID(), nullable=False), sa.Column('fk_model', sa.Unicode(), server_default='', nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_stripe_transaction')) )
def upgrade(): op.create_table('promo_code', sa.Column('id', residue.UUID(), nullable=False), sa.Column('code', sa.Unicode(), server_default='', nullable=False), sa.Column('discount', sa.Integer(), nullable=True), sa.Column('discount_type', sa.Integer(), server_default='0', nullable=False), sa.Column('expiration_date', residue.UTCDateTime(), nullable=False), sa.Column('uses_allowed', sa.Integer(), nullable=True), sa.CheckConstraint("trim(code) != ''", name='ck_promo_code_non_empty_code'), sa.PrimaryKeyConstraint('id', name=op.f('pk_promo_code')) ) op.create_table('promo_code_word', sa.Column('id', residue.UUID(), nullable=False), sa.Column('word', sa.Unicode(), server_default='', nullable=False), sa.Column('part_of_speech', sa.Integer(), server_default='0', nullable=False), sa.CheckConstraint("trim(word) != ''", name='ck_promo_code_word_non_empty_word'), sa.PrimaryKeyConstraint('id', name=op.f('pk_promo_code_word')) ) if is_sqlite: def listen_for_reflect(inspector, table, column_info): """Adds parenthesis around SQLite datetime defaults for utcnow.""" if column_info['default'] == "datetime('now', 'utc')": column_info['default'] = utcnow_server_default with op.batch_alter_table( 'attendee', reflect_kwargs=dict(listeners=[('column_reflect', listen_for_reflect)])) as batch_op: batch_op.add_column(sa.Column('promo_code_id', residue.UUID(), nullable=True)) batch_op.create_foreign_key(op.f('fk_attendee_promo_code_id_promo_code'), 'promo_code', ['promo_code_id'], ['id']) else: op.add_column('attendee', sa.Column('promo_code_id', residue.UUID(), nullable=True)) op.create_foreign_key(op.f('fk_attendee_promo_code_id_promo_code'), 'attendee', 'promo_code', ['promo_code_id'], ['id']) op.create_index(op.f('ix_attendee_promo_code_id'), 'attendee', ['promo_code_id'], unique=False) op.create_index( op.f('uq_promo_code_normalized_code'), 'promo_code', [text("replace(replace(lower(code), '-', ''), ' ', '')")], unique=True) op.create_index( op.f('uq_promo_code_word_normalized_word_part_of_speech'), 'promo_code_word', [text('lower(trim(word))'), 'part_of_speech'], unique=True)
def upgrade(): op.create_table('room', sa.Column('id', residue.UUID(), nullable=False), sa.Column('notes', sa.Unicode(), server_default='', nullable=False), sa.Column('message', sa.Unicode(), server_default='', nullable=False), sa.Column('locked_in', sa.Boolean(), server_default='False', nullable=False), sa.Column('nights', sa.Unicode(), server_default='', nullable=False), sa.Column('created', residue.UTCDateTime(), server_default=sa.text(utcnow_server_default), nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_room')) ) op.create_table('hotel_requests', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('nights', sa.Unicode(), server_default='', nullable=False), sa.Column('wanted_roommates', sa.Unicode(), server_default='', nullable=False), sa.Column('unwanted_roommates', sa.Unicode(), server_default='', nullable=False), sa.Column('special_needs', sa.Unicode(), server_default='', nullable=False), sa.Column('approved', sa.Boolean(), server_default='False', nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_hotel_requests_attendee_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_hotel_requests')), sa.UniqueConstraint('attendee_id', name=op.f('uq_hotel_requests_attendee_id')) ) op.create_table('room_assignment', sa.Column('id', residue.UUID(), nullable=False), sa.Column('room_id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_room_assignment_attendee_id_attendee')), sa.ForeignKeyConstraint(['room_id'], ['room.id'], name=op.f('fk_room_assignment_room_id_room')), sa.PrimaryKeyConstraint('id', name=op.f('pk_room_assignment')) ) if is_sqlite: with op.batch_alter_table('attendee', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.add_column(sa.Column('hotel_eligible', sa.Boolean(), server_default='False', nullable=False)) else: op.add_column('attendee', sa.Column('hotel_eligible', sa.Boolean(), server_default='False', nullable=False))
def upgrade(): op.create_table( 'indie_studio', sa.Column('id', residue.UUID(), nullable=False), sa.Column('group_id', residue.UUID(), nullable=True), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.Column('address', sa.Unicode(), server_default='', nullable=False), sa.Column('website', sa.Unicode(), server_default='', nullable=False), sa.Column('twitter', sa.Unicode(), server_default='', nullable=False), sa.Column('facebook', sa.Unicode(), server_default='', nullable=False), sa.Column('status', sa.Integer(), server_default='239694250', nullable=False), sa.Column('staff_notes', sa.Unicode(), server_default='', nullable=False), sa.Column('registered', residue.UTCDateTime(), server_default=sa.text(utcnow_server_default), nullable=False), sa.ForeignKeyConstraint(['group_id'], ['group.id'], name=op.f('fk_indie_studio_group_id_group')), sa.PrimaryKeyConstraint('id', name=op.f('pk_indie_studio')), sa.UniqueConstraint('name', name=op.f('uq_indie_studio_name'))) op.create_table( 'indie_developer', sa.Column('id', residue.UUID(), nullable=False), sa.Column('studio_id', residue.UUID(), nullable=False), sa.Column('primary_contact', sa.Boolean(), server_default='False', nullable=False), sa.Column('first_name', sa.Unicode(), server_default='', nullable=False), sa.Column('last_name', sa.Unicode(), server_default='', nullable=False), sa.Column('email', sa.Unicode(), server_default='', nullable=False), sa.Column('cellphone', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['studio_id'], ['indie_studio.id'], name=op.f('fk_indie_developer_studio_id_indie_studio')), sa.PrimaryKeyConstraint('id', name=op.f('pk_indie_developer'))) op.create_table( 'indie_game', sa.Column('id', residue.UUID(), nullable=False), sa.Column('studio_id', residue.UUID(), nullable=False), sa.Column('title', sa.Unicode(), server_default='', nullable=False), sa.Column('brief_description', sa.Unicode(), server_default='', nullable=False), sa.Column('genres', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.Column('how_to_play', sa.Unicode(), server_default='', nullable=False), sa.Column('link_to_video', sa.Unicode(), server_default='', nullable=False), sa.Column('link_to_game', sa.Unicode(), server_default='', nullable=False), sa.Column('password_to_game', sa.Unicode(), server_default='', nullable=False), sa.Column('code_type', sa.Integer(), server_default='153623436', nullable=False), sa.Column('code_instructions', sa.Unicode(), server_default='', nullable=False), sa.Column('build_status', sa.Integer(), server_default='195530085', nullable=False), sa.Column('build_notes', sa.Unicode(), server_default='', nullable=False), sa.Column('shown_events', sa.Unicode(), server_default='', nullable=False), sa.Column('video_submitted', sa.Boolean(), server_default='False', nullable=False), sa.Column('submitted', sa.Boolean(), server_default='False', nullable=False), sa.Column('agreed_liability', sa.Boolean(), server_default='False', nullable=False), sa.Column('agreed_showtimes', sa.Boolean(), server_default='False', nullable=False), sa.Column('agreed_reminder1', sa.Boolean(), server_default='False', nullable=False), sa.Column('agreed_reminder2', sa.Boolean(), server_default='False', nullable=False), sa.Column('status', sa.Integer(), server_default='239694250', nullable=False), sa.Column('judge_notes', sa.Unicode(), server_default='', nullable=False), sa.Column('registered', residue.UTCDateTime(), server_default=sa.text(utcnow_server_default), nullable=False), sa.ForeignKeyConstraint( ['studio_id'], ['indie_studio.id'], name=op.f('fk_indie_game_studio_id_indie_studio')), sa.PrimaryKeyConstraint('id', name=op.f('pk_indie_game'))) op.create_table( 'indie_game_screenshot', sa.Column('id', residue.UUID(), nullable=False), sa.Column('game_id', residue.UUID(), nullable=False), sa.Column('filename', sa.Unicode(), server_default='', nullable=False), sa.Column('content_type', sa.Unicode(), server_default='', nullable=False), sa.Column('extension', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['game_id'], ['indie_game.id'], name=op.f('fk_indie_game_screenshot_game_id_indie_game')), sa.PrimaryKeyConstraint('id', name=op.f('pk_indie_game_screenshot'))) op.create_table( 'indie_judge', sa.Column('id', residue.UUID(), nullable=False), sa.Column('admin_id', residue.UUID(), nullable=False), sa.Column('genres', sa.Unicode(), server_default='', nullable=False), sa.Column('staff_notes', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['admin_id'], ['admin_account.id'], name=op.f('fk_indie_judge_admin_id_admin_account')), sa.PrimaryKeyConstraint('id', name=op.f('pk_indie_judge'))) op.create_table( 'indie_game_code', sa.Column('id', residue.UUID(), nullable=False), sa.Column('game_id', residue.UUID(), nullable=False), sa.Column('judge_id', residue.UUID(), nullable=True), sa.Column('code', sa.Unicode(), server_default='', nullable=False), sa.Column('unlimited_use', sa.Boolean(), server_default='False', nullable=False), sa.Column('judge_notes', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['game_id'], ['indie_game.id'], name=op.f('fk_indie_game_code_game_id_indie_game')), sa.ForeignKeyConstraint( ['judge_id'], ['indie_judge.id'], name=op.f('fk_indie_game_code_judge_id_indie_judge')), sa.PrimaryKeyConstraint('id', name=op.f('pk_indie_game_code'))) op.create_table( 'indie_game_review', sa.Column('id', residue.UUID(), nullable=False), sa.Column('game_id', residue.UUID(), nullable=False), sa.Column('judge_id', residue.UUID(), nullable=False), sa.Column('video_status', sa.Integer(), server_default='196944751', nullable=False), sa.Column('game_status', sa.Integer(), server_default='196944751', nullable=False), sa.Column('video_score', sa.Integer(), server_default='196944751', nullable=False), sa.Column('game_score', sa.Integer(), server_default='0', nullable=False), sa.Column('video_review', sa.Unicode(), server_default='', nullable=False), sa.Column('game_review', sa.Unicode(), server_default='', nullable=False), sa.Column('developer_response', sa.Unicode(), server_default='', nullable=False), sa.Column('staff_notes', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['game_id'], ['indie_game.id'], name=op.f('fk_indie_game_review_game_id_indie_game')), sa.ForeignKeyConstraint( ['judge_id'], ['indie_judge.id'], name=op.f('fk_indie_game_review_judge_id_indie_judge')), sa.PrimaryKeyConstraint('id', name=op.f('pk_indie_game_review')), sa.UniqueConstraint('game_id', 'judge_id', name='review_game_judge_uniq'))
def upgrade(): if is_sqlite: with op.batch_alter_table('indie_game', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.add_column(sa.Column('waitlisted', residue.UTCDateTime(), nullable=True)) else: op.add_column('indie_game', sa.Column('waitlisted', residue.UTCDateTime(), nullable=True))
def upgrade(): op.create_table('approved_email', sa.Column('id', residue.UUID(), nullable=False), sa.Column('ident', sa.Unicode(), server_default='', nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_approved_email')) ) op.create_table('arbitrary_charge', sa.Column('id', residue.UUID(), nullable=False), sa.Column('amount', sa.Integer(), nullable=False), sa.Column('what', sa.Unicode(), server_default='', nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.Column('reg_station', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id', name=op.f('pk_arbitrary_charge')) ) op.create_table('email', sa.Column('id', residue.UUID(), nullable=False), sa.Column('fk_id', residue.UUID(), nullable=True), sa.Column('ident', sa.Unicode(), server_default='', nullable=False), sa.Column('model', sa.Unicode(), server_default='', nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.Column('subject', sa.Unicode(), server_default='', nullable=False), sa.Column('dest', sa.Unicode(), server_default='', nullable=False), sa.Column('body', sa.Unicode(), server_default='', nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_email')) ) op.create_table('group', sa.Column('id', residue.UUID(), nullable=False), sa.Column('public_id', residue.UUID(), nullable=False), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.Column('tables', sa.Numeric(), server_default='0', nullable=False), sa.Column('address', sa.Unicode(), server_default='', nullable=False), sa.Column('website', sa.Unicode(), server_default='', nullable=False), sa.Column('wares', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.Column('special_needs', sa.Unicode(), server_default='', nullable=False), sa.Column('amount_paid', sa.Integer(), server_default='0', nullable=False), sa.Column('amount_refunded', sa.Integer(), server_default='0', nullable=False), sa.Column('cost', sa.Integer(), server_default='0', nullable=False), sa.Column('auto_recalc', sa.Boolean(), server_default='True', nullable=False), sa.Column('can_add', sa.Boolean(), server_default='False', nullable=False), sa.Column('admin_notes', sa.Unicode(), server_default='', nullable=False), sa.Column('status', sa.Integer(), server_default='172070601', nullable=False), sa.Column('registered', residue.UTCDateTime(), server_default=sa.text(utcnow_server_default), nullable=False), sa.Column('approved', residue.UTCDateTime(), nullable=True), sa.Column('leader_id', residue.UUID(), nullable=True), sa.ForeignKeyConstraint(['leader_id'], ['attendee.id'], name='fk_leader', use_alter=True), sa.PrimaryKeyConstraint('id', name=op.f('pk_group')) ) op.create_table('job', sa.Column('id', residue.UUID(), nullable=False), sa.Column('type', sa.Integer(), server_default='252034462', nullable=False), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.Column('location', sa.Integer(), nullable=False), sa.Column('start_time', residue.UTCDateTime(), nullable=False), sa.Column('duration', sa.Integer(), nullable=False), sa.Column('weight', sa.Float(), server_default='1', nullable=False), sa.Column('slots', sa.Integer(), nullable=False), sa.Column('restricted', sa.Boolean(), server_default='False', nullable=False), sa.Column('extra15', sa.Boolean(), server_default='False', nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_job')) ) op.create_table('page_view_tracking', sa.Column('id', residue.UUID(), nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.Column('who', sa.Unicode(), server_default='', nullable=False), sa.Column('page', sa.Unicode(), server_default='', nullable=False), sa.Column('what', sa.Unicode(), server_default='', nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_page_view_tracking')) ) op.create_table('tracking', sa.Column('id', residue.UUID(), nullable=False), sa.Column('fk_id', residue.UUID(), nullable=False), sa.Column('model', sa.Unicode(), server_default='', nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.Column('who', sa.Unicode(), server_default='', nullable=False), sa.Column('page', sa.Unicode(), server_default='', nullable=False), sa.Column('which', sa.Unicode(), server_default='', nullable=False), sa.Column('links', sa.Unicode(), server_default='', nullable=False), sa.Column('action', sa.Integer(), nullable=False), sa.Column('data', sa.Unicode(), server_default='', nullable=False), sa.Column('snapshot', sa.Unicode(), server_default='', nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_tracking')) ) op.create_index(op.f('ix_tracking_fk_id'), 'tracking', ['fk_id'], unique=False) op.create_table('watch_list', sa.Column('id', residue.UUID(), nullable=False), sa.Column('first_names', sa.Unicode(), server_default='', nullable=False), sa.Column('last_name', sa.Unicode(), server_default='', nullable=False), sa.Column('email', sa.Unicode(), server_default='', nullable=False), sa.Column('birthdate', sa.Date(), nullable=True), sa.Column('reason', sa.Unicode(), server_default='', nullable=False), sa.Column('action', sa.Unicode(), server_default='', nullable=False), sa.Column('active', sa.Boolean(), server_default='True', nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_watch_list')) ) op.create_table('attendee', sa.Column('id', residue.UUID(), nullable=False), sa.Column('watchlist_id', residue.UUID(), nullable=True), sa.Column('group_id', residue.UUID(), nullable=True), sa.Column('placeholder', sa.Boolean(), server_default='False', nullable=False), sa.Column('first_name', sa.Unicode(), server_default='', nullable=False), sa.Column('last_name', sa.Unicode(), server_default='', nullable=False), sa.Column('legal_name', sa.Unicode(), server_default='', nullable=False), sa.Column('email', sa.Unicode(), server_default='', nullable=False), sa.Column('birthdate', sa.Date(), nullable=True), sa.Column('age_group', sa.Integer(), server_default='178244408', nullable=True), sa.Column('international', sa.Boolean(), server_default='False', nullable=False), sa.Column('zip_code', sa.Unicode(), server_default='', nullable=False), sa.Column('address1', sa.Unicode(), server_default='', nullable=False), sa.Column('address2', sa.Unicode(), server_default='', nullable=False), sa.Column('city', sa.Unicode(), server_default='', nullable=False), sa.Column('region', sa.Unicode(), server_default='', nullable=False), sa.Column('country', sa.Unicode(), server_default='', nullable=False), sa.Column('no_cellphone', sa.Boolean(), server_default='False', nullable=False), sa.Column('ec_name', sa.Unicode(), server_default='', nullable=False), sa.Column('ec_phone', sa.Unicode(), server_default='', nullable=False), sa.Column('cellphone', sa.Unicode(), server_default='', nullable=False), sa.Column('interests', sa.Unicode(), server_default='', nullable=False), sa.Column('found_how', sa.Unicode(), server_default='', nullable=False), sa.Column('comments', sa.Unicode(), server_default='', nullable=False), sa.Column('for_review', sa.Unicode(), server_default='', nullable=False), sa.Column('admin_notes', sa.Unicode(), server_default='', nullable=False), sa.Column('public_id', residue.UUID(), nullable=False), sa.Column('badge_num', sa.Integer(), nullable=True), sa.Column('badge_type', sa.Integer(), server_default='51352218', nullable=False), sa.Column('badge_status', sa.Integer(), server_default='163076611', nullable=False), sa.Column('ribbon', sa.Integer(), server_default='154973361', nullable=False), sa.Column('affiliate', sa.Unicode(), server_default='', nullable=False), sa.Column('shirt', sa.Integer(), server_default='0', nullable=False), sa.Column('can_spam', sa.Boolean(), server_default='False', nullable=False), sa.Column('regdesk_info', sa.Unicode(), server_default='', nullable=False), sa.Column('extra_merch', sa.Unicode(), server_default='', nullable=False), sa.Column('got_merch', sa.Boolean(), server_default='False', nullable=False), sa.Column('reg_station', sa.Integer(), nullable=True), sa.Column('registered', residue.UTCDateTime(), server_default=sa.text(utcnow_server_default), nullable=False), sa.Column('checked_in', residue.UTCDateTime(), nullable=True), sa.Column('paid', sa.Integer(), server_default='121378471', nullable=False), sa.Column('overridden_price', sa.Integer(), nullable=True), sa.Column('amount_paid', sa.Integer(), server_default='0', nullable=False), sa.Column('amount_extra', sa.Integer(), server_default='0', nullable=False), sa.Column('payment_method', sa.Integer(), nullable=True), sa.Column('amount_refunded', sa.Integer(), server_default='0', nullable=False), sa.Column('badge_printed_name', sa.Unicode(), server_default='', nullable=False), sa.Column('staffing', sa.Boolean(), server_default='False', nullable=False), sa.Column('requested_depts', sa.Unicode(), server_default='', nullable=False), sa.Column('assigned_depts', sa.Unicode(), server_default='', nullable=False), sa.Column('trusted_depts', sa.Unicode(), server_default='', nullable=False), sa.Column('nonshift_hours', sa.Integer(), server_default='0', nullable=False), sa.Column('past_years', sa.Unicode(), server_default='', nullable=False), sa.Column('can_work_setup', sa.Boolean(), server_default='False', nullable=False), sa.Column('can_work_teardown', sa.Boolean(), server_default='False', nullable=False), sa.ForeignKeyConstraint(['group_id'], ['group.id'], name=op.f('fk_attendee_group_id_group'), ondelete='SET NULL'), sa.ForeignKeyConstraint(['watchlist_id'], ['watch_list.id'], name=op.f('fk_attendee_watchlist_id_watch_list'), ondelete='set null'), sa.PrimaryKeyConstraint('id', name=op.f('pk_attendee')), *[c for c in [sa.UniqueConstraint('badge_num', deferrable='True', initially='DEFERRED', name=op.f('uq_attendee_badge_num'))] if not is_sqlite] ) op.create_table('admin_account', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('hashed', sa.Unicode(), server_default='', nullable=False), sa.Column('access', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_admin_account_attendee_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_admin_account')), sa.UniqueConstraint('attendee_id', name=op.f('uq_admin_account_attendee_id')) ) op.create_table('dept_checklist_item', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('slug', sa.Unicode(), server_default='', nullable=False), sa.Column('comments', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_dept_checklist_item_attendee_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_dept_checklist_item')), sa.UniqueConstraint('attendee_id', 'slug', name='_dept_checklist_item_uniq') ) op.create_table('food_restrictions', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('standard', sa.Unicode(), server_default='', nullable=False), sa.Column('sandwich_pref', sa.Unicode(), server_default='', nullable=False), sa.Column('freeform', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_food_restrictions_attendee_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_food_restrictions')), sa.UniqueConstraint('attendee_id', name=op.f('uq_food_restrictions_attendee_id')) ) op.create_table('m_points_for_cash', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('amount', sa.Integer(), nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_m_points_for_cash_attendee_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_m_points_for_cash')) ) op.create_table('merch_discount', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('uses', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_merch_discount_attendee_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_merch_discount')), sa.UniqueConstraint('attendee_id', name=op.f('uq_merch_discount_attendee_id')) ) op.create_table('merch_pickup', sa.Column('id', residue.UUID(), nullable=False), sa.Column('picked_up_by_id', residue.UUID(), nullable=False), sa.Column('picked_up_for_id', residue.UUID(), nullable=False), sa.ForeignKeyConstraint(['picked_up_by_id'], ['attendee.id'], name=op.f('fk_merch_pickup_picked_up_by_id_attendee')), sa.ForeignKeyConstraint(['picked_up_for_id'], ['attendee.id'], name=op.f('fk_merch_pickup_picked_up_for_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_merch_pickup')), sa.UniqueConstraint('picked_up_for_id', name=op.f('uq_merch_pickup_picked_up_for_id')) ) op.create_table('no_shirt', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_no_shirt_attendee_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_no_shirt')), sa.UniqueConstraint('attendee_id', name=op.f('uq_no_shirt_attendee_id')) ) op.create_table('old_m_point_exchange', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('amount', sa.Integer(), nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_old_m_point_exchange_attendee_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_old_m_point_exchange')) ) op.create_table('sale', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=True), sa.Column('what', sa.Unicode(), server_default='', nullable=False), sa.Column('cash', sa.Integer(), server_default='0', nullable=False), sa.Column('mpoints', sa.Integer(), server_default='0', nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.Column('reg_station', sa.Integer(), nullable=True), sa.Column('payment_method', sa.Integer(), server_default='251700478', nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_sale_attendee_id_attendee'), ondelete='set null'), sa.PrimaryKeyConstraint('id', name=op.f('pk_sale')) ) op.create_table('shift', sa.Column('id', residue.UUID(), nullable=False), sa.Column('job_id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('worked', sa.Integer(), server_default='176686787', nullable=False), sa.Column('rating', sa.Integer(), server_default='54944008', nullable=False), sa.Column('comment', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint(['attendee_id'], ['attendee.id'], name=op.f('fk_shift_attendee_id_attendee'), ondelete='cascade'), sa.ForeignKeyConstraint(['job_id'], ['job.id'], name=op.f('fk_shift_job_id_job'), ondelete='cascade'), sa.PrimaryKeyConstraint('id', name=op.f('pk_shift')) ) op.create_table('password_reset', sa.Column('id', residue.UUID(), nullable=False), sa.Column('account_id', residue.UUID(), nullable=False), sa.Column('generated', residue.UTCDateTime(), server_default=sa.text(utcnow_server_default), nullable=False), sa.Column('hashed', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint(['account_id'], ['admin_account.id'], name=op.f('fk_password_reset_account_id_admin_account')), sa.PrimaryKeyConstraint('id', name=op.f('pk_password_reset')), sa.UniqueConstraint('account_id', name=op.f('uq_password_reset_account_id')) )
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table( 'mits_team', sa.Column('id', residue.UUID(), nullable=False), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.Column('panel_interest', sa.Boolean(), server_default='False', nullable=False), sa.Column('want_to_sell', sa.Boolean(), server_default='False', nullable=False), sa.Column('address', sa.Unicode(), server_default='', nullable=False), sa.Column('submitted', residue.UTCDateTime(), nullable=True), sa.Column('applied', residue.UTCDateTime(), server_default=sa.text(utcnow_server_default), nullable=False), sa.Column('status', sa.Integer(), server_default='196944751', nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_mits_team'))) op.create_table( 'mits_game', sa.Column('id', residue.UUID(), nullable=False), sa.Column('team_id', residue.UUID(), nullable=False), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.Column('promo_blurb', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.Column('genre', sa.Unicode(), server_default='', nullable=False), sa.Column('phase', sa.Integer(), nullable=False), sa.Column('min_age', sa.Integer(), nullable=False), sa.Column('min_players', sa.Integer(), server_default='2', nullable=False), sa.Column('max_players', sa.Integer(), server_default='4', nullable=False), sa.Column('personally_own', sa.Boolean(), server_default='False', nullable=False), sa.Column('unlicensed', sa.Boolean(), server_default='False', nullable=False), sa.Column('professional', sa.Boolean(), server_default='False', nullable=False), sa.ForeignKeyConstraint(['team_id'], ['mits_team.id'], name=op.f('fk_mits_game_team_id_mits_team')), sa.PrimaryKeyConstraint('id', name=op.f('pk_mits_game'))) op.create_table( 'mits_picture', sa.Column('id', residue.UUID(), nullable=False), sa.Column('team_id', residue.UUID(), nullable=False), sa.Column('filename', sa.Unicode(), server_default='', nullable=False), sa.Column('content_type', sa.Unicode(), server_default='', nullable=False), sa.Column('extension', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['team_id'], ['mits_team.id'], name=op.f('fk_mits_picture_team_id_mits_team')), sa.PrimaryKeyConstraint('id', name=op.f('pk_mits_picture'))) op.create_table( 'mits_times', sa.Column('id', residue.UUID(), nullable=False), sa.Column('team_id', residue.UUID(), nullable=False), sa.Column('availability', sa.Unicode(), server_default='', nullable=False), sa.Column('multiple_tables', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint(['team_id'], ['mits_team.id'], name=op.f('fk_mits_times_team_id_mits_team')), sa.PrimaryKeyConstraint('id', name=op.f('pk_mits_times'))) op.create_table( 'mits_applicant', sa.Column('id', residue.UUID(), nullable=False), sa.Column('team_id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=True), sa.Column('primary_contact', sa.Boolean(), server_default='False', nullable=False), sa.Column('first_name', sa.Unicode(), server_default='', nullable=False), sa.Column('last_name', sa.Unicode(), server_default='', nullable=False), sa.Column('email', sa.Unicode(), server_default='', nullable=False), sa.Column('cellphone', sa.Unicode(), server_default='', nullable=False), sa.Column('contact_method', sa.Integer(), server_default='42059704', nullable=False), sa.Column('declined_hotel_space', sa.Boolean(), server_default='False', nullable=False), sa.Column('requested_room_nights', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_mits_applicant_attendee_id_attendee')), sa.ForeignKeyConstraint( ['team_id'], ['mits_team.id'], name=op.f('fk_mits_applicant_team_id_mits_team')), sa.PrimaryKeyConstraint('id', name=op.f('pk_mits_applicant')))
def upgrade(): op.create_table( 'tabletop_tournament', sa.Column('id', residue.UUID(), nullable=False), sa.Column('event_id', residue.UUID(), nullable=False), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['event_id'], ['event.id'], name=op.f('fk_tabletop_tournament_event_id_event')), sa.PrimaryKeyConstraint('id', name=op.f('pk_tabletop_tournament')), sa.UniqueConstraint('event_id', name=op.f('uq_tabletop_tournament_event_id'))) op.create_table( 'tabletop_entrant', sa.Column('id', residue.UUID(), nullable=False), sa.Column('tournament_id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('signed_up', residue.UTCDateTime(), nullable=False), sa.Column('confirmed', sa.Boolean(), server_default='False', nullable=False), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_tabletop_entrant_attendee_id_attendee')), sa.ForeignKeyConstraint( ['tournament_id'], ['tabletop_tournament.id'], name=op.f( 'fk_tabletop_entrant_tournament_id_tabletop_tournament')), sa.PrimaryKeyConstraint('id', name=op.f('pk_tabletop_entrant')), sa.UniqueConstraint('tournament_id', 'attendee_id', name='_tournament_entrant_uniq')) op.create_table( 'tabletop_game', sa.Column('id', residue.UUID(), nullable=False), sa.Column('code', sa.Unicode(), server_default='', nullable=False), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('returned', sa.Boolean(), server_default='False', nullable=False), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_tabletop_game_attendee_id_attendee')), sa.PrimaryKeyConstraint('id', name=op.f('pk_tabletop_game'))) op.create_table( 'tabletop_checkout', sa.Column('id', residue.UUID(), nullable=False), sa.Column('game_id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('checked_out', residue.UTCDateTime(), nullable=False), sa.Column('returned', residue.UTCDateTime(), nullable=True), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_tabletop_checkout_attendee_id_attendee')), sa.ForeignKeyConstraint( ['game_id'], ['tabletop_game.id'], name=op.f('fk_tabletop_checkout_game_id_tabletop_game')), sa.PrimaryKeyConstraint('id', name=op.f('pk_tabletop_checkout'))) op.create_table( 'tabletop_sms_reminder', sa.Column('id', residue.UUID(), nullable=False), sa.Column('entrant_id', residue.UUID(), nullable=False), sa.Column('sid', sa.Unicode(), server_default='', nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.Column('text', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['entrant_id'], ['tabletop_entrant.id'], name=op.f('fk_tabletop_sms_reminder_entrant_id_tabletop_entrant')), sa.PrimaryKeyConstraint('id', name=op.f('pk_tabletop_sms_reminder')), sa.UniqueConstraint('entrant_id', name=op.f('uq_tabletop_sms_reminder_entrant_id'))) op.create_table( 'tabletop_sms_reply', sa.Column('id', residue.UUID(), nullable=False), sa.Column('entrant_id', residue.UUID(), nullable=True), sa.Column('sid', sa.Unicode(), server_default='', nullable=False), sa.Column('when', residue.UTCDateTime(), nullable=False), sa.Column('text', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['entrant_id'], ['tabletop_entrant.id'], name=op.f('fk_tabletop_sms_reply_entrant_id_tabletop_entrant')), sa.PrimaryKeyConstraint('id', name=op.f('pk_tabletop_sms_reply')))
def upgrade(): op.create_table( 'event', sa.Column('id', residue.UUID(), nullable=False), sa.Column('location', sa.Integer(), nullable=False), sa.Column('start_time', residue.UTCDateTime(), nullable=False), sa.Column('duration', sa.Integer(), nullable=False), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.PrimaryKeyConstraint('id', name=op.f('pk_event'))) op.create_table( 'assigned_panelist', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('event_id', residue.UUID(), nullable=False), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_assigned_panelist_attendee_id_attendee'), ondelete='cascade'), sa.ForeignKeyConstraint( ['event_id'], ['event.id'], name=op.f('fk_assigned_panelist_event_id_event'), ondelete='cascade'), sa.PrimaryKeyConstraint('id', name=op.f('pk_assigned_panelist'))) op.create_table( 'event_feedback', sa.Column('id', residue.UUID(), nullable=False), sa.Column('event_id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('headcount_starting', sa.Integer(), server_default='0', nullable=False), sa.Column('headcount_during', sa.Integer(), server_default='0', nullable=False), sa.Column('comments', sa.Unicode(), server_default='', nullable=False), sa.Column('rating', sa.Integer(), server_default='54944008', nullable=False), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_event_feedback_attendee_id_attendee'), ondelete='cascade'), sa.ForeignKeyConstraint(['event_id'], ['event.id'], name=op.f('fk_event_feedback_event_id_event')), sa.PrimaryKeyConstraint('id', name=op.f('pk_event_feedback'))) op.create_table( 'panel_application', sa.Column('id', residue.UUID(), nullable=False), sa.Column('event_id', residue.UUID(), nullable=True), sa.Column('poc_id', residue.UUID(), nullable=True), sa.Column('name', sa.Unicode(), server_default='', nullable=False), sa.Column('length', sa.Unicode(), server_default='', nullable=False), sa.Column('description', sa.Unicode(), server_default='', nullable=False), sa.Column('unavailable', sa.Unicode(), server_default='', nullable=False), sa.Column('affiliations', sa.Unicode(), server_default='', nullable=False), sa.Column('past_attendance', sa.Unicode(), server_default='', nullable=False), sa.Column('presentation', sa.Integer(), nullable=False), sa.Column('other_presentation', sa.Unicode(), server_default='', nullable=False), sa.Column('tech_needs', sa.Unicode(), server_default='', nullable=False), sa.Column('other_tech_needs', sa.Unicode(), server_default='', nullable=False), sa.Column('panelist_bringing', sa.Unicode(), server_default='', nullable=False), sa.Column('applied', residue.UTCDateTime(), server_default=sa.text(utcnow_server_default), nullable=False), sa.Column('status', sa.Integer(), server_default='196944751', nullable=False), sa.Column('comments', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['event_id'], ['event.id'], name=op.f('fk_panel_application_event_id_event'), ondelete='SET NULL'), sa.ForeignKeyConstraint( ['poc_id'], ['attendee.id'], name=op.f('fk_panel_application_poc_id_attendee'), ondelete='SET NULL'), sa.PrimaryKeyConstraint('id', name=op.f('pk_panel_application'))) op.create_table( 'panel_applicant', sa.Column('id', residue.UUID(), nullable=False), sa.Column('app_id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=True), sa.Column('submitter', sa.Boolean(), server_default='False', nullable=False), sa.Column('first_name', sa.Unicode(), server_default='', nullable=False), sa.Column('last_name', sa.Unicode(), server_default='', nullable=False), sa.Column('email', sa.Unicode(), server_default='', nullable=False), sa.Column('cellphone', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['app_id'], ['panel_application.id'], name=op.f('fk_panel_applicant_app_id_panel_application'), ondelete='cascade'), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_panel_applicant_attendee_id_attendee'), ondelete='cascade'), sa.PrimaryKeyConstraint('id', name=op.f('pk_panel_applicant')))
def upgrade(): from sqlalchemy.engine import reflection inspector = reflection.Inspector(op.get_bind()) existing_primarykeys = set( [inspector.get_pk_constraint('approved_email')['name']]) # Delete rows in the approved_email table that have duplicate idents connection = op.get_bind() concat = func.group_concat if is_sqlite else func.string_agg duplicates = connection.execute( concat(cast(approved_email_table.c.id, String), ',').select().group_by( approved_email_table.c.ident).having(func.count() > 1)) for duplicate_ids in duplicates: duplicate_ids = sorted(duplicate_ids[0].split(','))[1:] if duplicate_ids: connection.execute(approved_email_table.delete().where( approved_email_table.c.id.in_(duplicate_ids))) op.rename_table('approved_email', 'automated_email') if is_sqlite: with op.batch_alter_table( 'automated_email', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.add_column( sa.Column('model', sa.Unicode(), server_default='', nullable=False)) batch_op.add_column( sa.Column('subject', sa.Unicode(), server_default='', nullable=False)) batch_op.add_column( sa.Column('body', sa.Unicode(), server_default='', nullable=False)) batch_op.add_column( sa.Column('sender', sa.Unicode(), server_default='', nullable=False)) batch_op.add_column( sa.Column('format', sa.Unicode(), server_default='text', nullable=False)) batch_op.add_column( sa.Column('cc', sa.Unicode(), server_default='', nullable=False)) batch_op.add_column( sa.Column('bcc', sa.Unicode(), server_default='', nullable=False)) batch_op.add_column( sa.Column('approved', sa.Boolean(), server_default='False', nullable=False)) batch_op.add_column( sa.Column('needs_approval', sa.Boolean(), server_default='True', nullable=False)) batch_op.add_column( sa.Column('unapproved_count', sa.Integer(), server_default='0', nullable=False)) batch_op.add_column( sa.Column('allow_post_con', sa.Boolean(), server_default='False', nullable=False)) batch_op.add_column( sa.Column('allow_at_the_con', sa.Boolean(), server_default='False', nullable=False)) batch_op.add_column( sa.Column('active_after', residue.UTCDateTime(), nullable=True)) batch_op.add_column( sa.Column('active_before', residue.UTCDateTime(), nullable=True)) if 'pk_approved_email' in existing_primarykeys: batch_op.drop_constraint('pk_approved_email', type_='primary') if 'approved_email_pkey' in existing_primarykeys: batch_op.drop_constraint('approved_email_pkey', type_='primary') if 'pk_automated_email' not in existing_primarykeys: batch_op.create_primary_key(op.f('pk_automated_email'), ['id']) batch_op.create_unique_constraint(op.f('uq_automated_email_ident'), ['ident']) batch_op.create_index( op.f('ix_automated_email_active_after_active_before'), ['active_after', 'active_before'], unique=False) else: op.add_column( 'automated_email', sa.Column('model', sa.Unicode(), server_default='', nullable=False)) op.add_column( 'automated_email', sa.Column('subject', sa.Unicode(), server_default='', nullable=False)) op.add_column( 'automated_email', sa.Column('body', sa.Unicode(), server_default='', nullable=False)) op.add_column( 'automated_email', sa.Column('sender', sa.Unicode(), server_default='', nullable=False)) op.add_column( 'automated_email', sa.Column('format', sa.Unicode(), server_default='text', nullable=False)) op.add_column( 'automated_email', sa.Column('cc', sa.Unicode(), server_default='', nullable=False)) op.add_column( 'automated_email', sa.Column('bcc', sa.Unicode(), server_default='', nullable=False)) op.add_column( 'automated_email', sa.Column('approved', sa.Boolean(), server_default='False', nullable=False)) op.add_column( 'automated_email', sa.Column('needs_approval', sa.Boolean(), server_default='True', nullable=False)) op.add_column( 'automated_email', sa.Column('unapproved_count', sa.Integer(), server_default='0', nullable=False)) op.add_column( 'automated_email', sa.Column('allow_post_con', sa.Boolean(), server_default='False', nullable=False)) op.add_column( 'automated_email', sa.Column('allow_at_the_con', sa.Boolean(), server_default='False', nullable=False)) op.add_column( 'automated_email', sa.Column('active_after', residue.UTCDateTime(), nullable=True)) op.add_column( 'automated_email', sa.Column('active_before', residue.UTCDateTime(), nullable=True)) if 'pk_approved_email' in existing_primarykeys: op.drop_constraint('pk_approved_email', 'automated_email', type_='primary') if 'approved_email_pkey' in existing_primarykeys: op.drop_constraint('approved_email_pkey', 'automated_email', type_='primary') if 'pk_automated_email' not in existing_primarykeys: op.create_primary_key(op.f('pk_automated_email'), 'automated_email', ['id']) op.create_unique_constraint(op.f('uq_automated_email_ident'), 'automated_email', ['ident']) if is_sqlite: with op.batch_alter_table( 'email', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.alter_column('dest', new_column_name='to') batch_op.add_column( sa.Column('bcc', sa.Unicode(), server_default='', nullable=False)) batch_op.add_column( sa.Column('cc', sa.Unicode(), server_default='', nullable=False)) batch_op.add_column( sa.Column('automated_email_id', residue.UUID(), nullable=True)) batch_op.add_column( sa.Column('sender', sa.Unicode(), server_default='', nullable=False)) batch_op.create_foreign_key( op.f('fk_email_automated_email_id_automated_email'), 'automated_email', ['automated_email_id'], ['id'], ondelete='set null') else: op.alter_column('email', 'dest', new_column_name='to') op.add_column( 'email', sa.Column('bcc', sa.Unicode(), server_default='', nullable=False)) op.add_column( 'email', sa.Column('cc', sa.Unicode(), server_default='', nullable=False)) op.add_column( 'email', sa.Column('automated_email_id', residue.UUID(), nullable=True)) op.add_column( 'email', sa.Column('sender', sa.Unicode(), server_default='', nullable=False)) op.create_foreign_key( op.f('fk_email_automated_email_id_automated_email'), 'email', 'automated_email', ['automated_email_id'], ['id'], ondelete='set null') connection.execute(automated_email_table.update().values( {'approved': True})) # Use the ident to try to establish a foreign key relationship # between the email and automated_email tables automated_emails = connection.execute(automated_email_table.select()) for automated_email in automated_emails: connection.execute(email_table.update().where( email_table.c.ident == automated_email.ident).values( {'automated_email_id': automated_email.id})) if is_sqlite: with op.batch_alter_table( 'attendee', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.create_index(op.f('ix_attendee_placeholder'), ['placeholder'], unique=False) else: op.create_index(op.f('ix_attendee_placeholder'), 'attendee', ['placeholder'], unique=False)
def upgrade(): if is_sqlite: with op.batch_alter_table( 'attendee', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.add_column( sa.Column('attractions_opt_out', sa.Boolean(), server_default='False', nullable=False)) batch_op.add_column( sa.Column('notification_pref', sa.Integer(), server_default='0', nullable=False)) with op.batch_alter_table( 'attraction_event', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.add_column( sa.Column('attraction_id', residue.UUID(), nullable=True)) with op.batch_alter_table( 'attraction_signup', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.add_column( sa.Column('attraction_id', residue.UUID(), nullable=True)) else: op.add_column( 'attendee', sa.Column('attractions_opt_out', sa.Boolean(), server_default='False', nullable=False)) op.add_column( 'attendee', sa.Column('notification_pref', sa.Integer(), server_default='0', nullable=False)) op.add_column( 'attraction_event', sa.Column('attraction_id', residue.UUID(), nullable=True)) op.add_column( 'attraction_signup', sa.Column('attraction_id', residue.UUID(), nullable=True)) # SQLite does not support UPDATE FROM so skip migrating data for SQLite connection = op.get_bind() connection.execute(attraction_event_table.update().where( attraction_event_table.c.attraction_feature_id == attraction_feature_table.c.id).values( attraction_id=attraction_feature_table.c.attraction_id)) connection.execute(attraction_signup_table.update().where( attraction_signup_table.c.attraction_event_id == attraction_event_table.c.id).values( attraction_id=attraction_event_table.c.attraction_id)) connection.execute(attraction_signup_table.update().where( attraction_signup_table.c.checkin_time == None).values( checkin_time=text("timezone('utc', '0001-01-01 00:00')"))) if is_sqlite: with op.batch_alter_table( 'attraction_event', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.alter_column('attraction_id', nullable=False) batch_op.create_foreign_key( op.f('fk_attraction_event_attraction_id_attraction'), 'attraction', ['attraction_id'], ['id']) batch_op.create_index(op.f('ix_attraction_event_attraction_id'), ['attraction_id'], unique=False) with op.batch_alter_table( 'attraction_signup', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.alter_column('attraction_id', nullable=False) batch_op.create_foreign_key( op.f('fk_attraction_signup_attraction_id_attraction'), 'attraction', ['attraction_id'], ['id']) batch_op.alter_column('checkin_time', existing_type=residue.UTCDateTime(), nullable=False) batch_op.alter_column('signup_time', existing_type=residue.UTCDateTime(), server_default=None) batch_op.create_index(op.f('ix_attraction_signup_checkin_time'), ['checkin_time'], unique=False) with op.batch_alter_table( 'attraction', reflect_kwargs=sqlite_reflect_kwargs) as batch_op: batch_op.alter_column('required_checkin', new_column_name='advance_checkin') batch_op.alter_column('notifications', new_column_name='advance_notices') else: op.alter_column('attraction_event', 'attraction_id', nullable=False) op.create_foreign_key( op.f('fk_attraction_event_attraction_id_attraction'), 'attraction_event', 'attraction', ['attraction_id'], ['id']) op.create_index(op.f('ix_attraction_event_attraction_id'), 'attraction_event', ['attraction_id'], unique=False) op.alter_column('attraction_signup', 'attraction_id', nullable=False) op.create_foreign_key( op.f('fk_attraction_signup_attraction_id_attraction'), 'attraction_signup', 'attraction', ['attraction_id'], ['id']) op.alter_column('attraction_signup', 'checkin_time', existing_type=residue.UTCDateTime(), nullable=False) op.alter_column('attraction_signup', 'signup_time', existing_type=residue.UTCDateTime(), server_default=None) op.create_index(op.f('ix_attraction_signup_checkin_time'), 'attraction_signup', ['checkin_time'], unique=False) op.alter_column('attraction', 'required_checkin', new_column_name='advance_checkin') op.alter_column('attraction', 'notifications', new_column_name='advance_notices') op.create_table( 'attraction_notification', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attraction_event_id', residue.UUID(), nullable=False), sa.Column('attraction_id', residue.UUID(), nullable=False), sa.Column('attendee_id', residue.UUID(), nullable=False), sa.Column('notification_type', sa.Integer(), nullable=False), sa.Column('ident', sa.Unicode(), server_default='', nullable=False), sa.Column('sid', sa.Unicode(), server_default='', nullable=False), sa.Column('sent_time', residue.UTCDateTime(), nullable=False), sa.Column('subject', sa.Unicode(), server_default='', nullable=False), sa.Column('body', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f('fk_attraction_notification_attendee_id_attendee')), sa.ForeignKeyConstraint( ['attraction_event_id'], ['attraction_event.id'], name=op. f('fk_attraction_notification_attraction_event_id_attraction_event' )), sa.ForeignKeyConstraint( ['attraction_id'], ['attraction.id'], name=op.f('fk_attraction_notification_attraction_id_attraction')), sa.PrimaryKeyConstraint('id', name=op.f('pk_attraction_notification'))) op.create_index(op.f('ix_attraction_notification_ident'), 'attraction_notification', ['ident'], unique=False) op.create_table( 'attraction_notification_reply', sa.Column('id', residue.UUID(), nullable=False), sa.Column('attraction_event_id', residue.UUID(), nullable=True), sa.Column('attraction_id', residue.UUID(), nullable=True), sa.Column('attendee_id', residue.UUID(), nullable=True), sa.Column('notification_type', sa.Integer(), nullable=False), sa.Column('from_phonenumber', sa.Unicode(), server_default='', nullable=False), sa.Column('to_phonenumber', sa.Unicode(), server_default='', nullable=False), sa.Column('sid', sa.Unicode(), server_default='', nullable=False), sa.Column('received_time', residue.UTCDateTime(), nullable=False), sa.Column('sent_time', residue.UTCDateTime(), nullable=False), sa.Column('body', sa.Unicode(), server_default='', nullable=False), sa.ForeignKeyConstraint( ['attendee_id'], ['attendee.id'], name=op.f( 'fk_attraction_notification_reply_attendee_id_attendee')), sa.ForeignKeyConstraint( ['attraction_event_id'], ['attraction_event.id'], name=op. f('fk_attraction_notification_reply_attraction_event_id_attraction_event' )), sa.ForeignKeyConstraint( ['attraction_id'], ['attraction.id'], name=op.f( 'fk_attraction_notification_reply_attraction_id_attraction')), sa.PrimaryKeyConstraint('id', name=op.f('pk_attraction_notification_reply'))) op.create_index(op.f('ix_attraction_notification_reply_sid'), 'attraction_notification_reply', ['sid'], unique=False)