"""Initial migration Revision ID: 630b0c367dcb Revises: Create Date: 2025-11-18 13:19:37.183397 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = '630b0c367dcb' down_revision: Union[str, Sequence[str], None] = None branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Upgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.create_table('conversion_rooms', sa.Column('id', sa.Integer(), nullable=False), sa.Column('conversion_id', sa.Integer(), nullable=False), sa.Column('pms_hotel_reservation_id', sa.String(), nullable=True), sa.Column('arrival_date', sa.Date(), nullable=True), sa.Column('departure_date', sa.Date(), nullable=True), sa.Column('room_status', sa.String(), nullable=True), sa.Column('room_type', sa.String(), nullable=True), sa.Column('room_number', sa.String(), nullable=True), sa.Column('num_adults', sa.Integer(), nullable=True), sa.Column('rate_plan_code', sa.String(), nullable=True), sa.Column('connected_room_type', sa.String(), nullable=True), sa.Column('daily_sales', sa.JSON(), nullable=True), sa.Column('total_revenue', sa.String(), nullable=True), sa.Column('created_at', sa.DateTime(timezone=True), nullable=True), sa.Column('updated_at', sa.DateTime(timezone=True), nullable=True), sa.ForeignKeyConstraint(['conversion_id'], ['alpinebits.conversions.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_conversion_rooms_arrival_date'), 'conversion_rooms', ['arrival_date'], unique=False) op.create_index(op.f('ix_conversion_rooms_conversion_id'), 'conversion_rooms', ['conversion_id'], unique=False) op.create_index(op.f('ix_conversion_rooms_departure_date'), 'conversion_rooms', ['departure_date'], unique=False) op.create_index(op.f('ix_conversion_rooms_pms_hotel_reservation_id'), 'conversion_rooms', ['pms_hotel_reservation_id'], unique=False) op.create_index(op.f('ix_conversion_rooms_room_number'), 'conversion_rooms', ['room_number'], unique=False) op.create_index(op.f('ix_acked_requests_username'), 'acked_requests', ['username'], unique=False) op.add_column('conversions', sa.Column('guest_first_name', sa.String(), nullable=True)) op.add_column('conversions', sa.Column('guest_last_name', sa.String(), nullable=True)) op.add_column('conversions', sa.Column('guest_email', sa.String(), nullable=True)) op.add_column('conversions', sa.Column('guest_country_code', sa.String(), nullable=True)) op.add_column('conversions', sa.Column('updated_at', sa.DateTime(timezone=True), nullable=True)) op.drop_index(op.f('ix_conversions_sale_date'), table_name='conversions') op.create_index(op.f('ix_conversions_guest_email'), 'conversions', ['guest_email'], unique=False) op.create_index(op.f('ix_conversions_guest_first_name'), 'conversions', ['guest_first_name'], unique=False) op.create_index(op.f('ix_conversions_guest_last_name'), 'conversions', ['guest_last_name'], unique=False) op.drop_column('conversions', 'rate_plan_code') op.drop_column('conversions', 'revenue_total') op.drop_column('conversions', 'revenue_other') op.drop_column('conversions', 'sale_date') op.drop_column('conversions', 'room_status') op.drop_column('conversions', 'revenue_board') op.drop_column('conversions', 'departure_date') op.drop_column('conversions', 'revenue_spa') op.drop_column('conversions', 'num_adults') op.drop_column('conversions', 'room_type') op.drop_column('conversions', 'revenue_logis') op.drop_column('conversions', 'room_number') op.drop_column('conversions', 'arrival_date') op.drop_column('conversions', 'revenue_fb') # ### end Alembic commands ### def downgrade() -> None: """Downgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.add_column('conversions', sa.Column('revenue_fb', sa.VARCHAR(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('arrival_date', sa.DATE(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('room_number', sa.VARCHAR(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('revenue_logis', sa.VARCHAR(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('room_type', sa.VARCHAR(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('num_adults', sa.INTEGER(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('revenue_spa', sa.VARCHAR(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('departure_date', sa.DATE(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('revenue_board', sa.VARCHAR(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('room_status', sa.VARCHAR(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('sale_date', sa.DATE(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('revenue_other', sa.VARCHAR(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('revenue_total', sa.VARCHAR(), autoincrement=False, nullable=True)) op.add_column('conversions', sa.Column('rate_plan_code', sa.VARCHAR(), autoincrement=False, nullable=True)) op.drop_index(op.f('ix_conversions_guest_last_name'), table_name='conversions') op.drop_index(op.f('ix_conversions_guest_first_name'), table_name='conversions') op.drop_index(op.f('ix_conversions_guest_email'), table_name='conversions') op.create_index(op.f('ix_conversions_sale_date'), 'conversions', ['sale_date'], unique=False) op.drop_column('conversions', 'updated_at') op.drop_column('conversions', 'guest_country_code') op.drop_column('conversions', 'guest_email') op.drop_column('conversions', 'guest_last_name') op.drop_column('conversions', 'guest_first_name') op.drop_index(op.f('ix_acked_requests_username'), table_name='acked_requests') op.drop_index(op.f('ix_conversion_rooms_room_number'), table_name='conversion_rooms') op.drop_index(op.f('ix_conversion_rooms_pms_hotel_reservation_id'), table_name='conversion_rooms') op.drop_index(op.f('ix_conversion_rooms_departure_date'), table_name='conversion_rooms') op.drop_index(op.f('ix_conversion_rooms_conversion_id'), table_name='conversion_rooms') op.drop_index(op.f('ix_conversion_rooms_arrival_date'), table_name='conversion_rooms') op.drop_table('conversion_rooms') # ### end Alembic commands ###