"""Initial migration with is_admin Revision ID: 47f8e17c22ae Revises: Create Date: 2025-05-26 02:43:18.802116 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '47f8e17c22ae' down_revision = None branch_labels = None depends_on = None def upgrade(): with op.batch_alter_table('analysis_reports', schema=None) as batch_op: batch_op.alter_column('id', existing_type=sa.INTEGER(), nullable=False, autoincrement=True) batch_op.alter_column('emotion', existing_type=sa.TEXT(), type_=sa.String(length=50), existing_nullable=True) batch_op.alter_column('confidence', existing_type=sa.REAL(), type_=sa.Float(), existing_nullable=True) batch_op.alter_column('created_at', existing_type=sa.TEXT(), type_=sa.DateTime(), existing_nullable=True, existing_server_default=sa.text('(CURRENT_TIMESTAMP)')) with op.batch_alter_table('chats', schema=None) as batch_op: batch_op.alter_column('chat_id', existing_type=sa.TEXT(), type_=sa.String(length=36), nullable=False) batch_op.alter_column('created_at', existing_type=sa.TEXT(), type_=sa.DateTime(), existing_nullable=True) batch_op.alter_column('title', existing_type=sa.TEXT(), type_=sa.String(length=100), existing_nullable=True) with op.batch_alter_table('messages', schema=None) as batch_op: batch_op.alter_column('id', existing_type=sa.INTEGER(), nullable=False, autoincrement=True) batch_op.alter_column('chat_id', existing_type=sa.TEXT(), type_=sa.String(length=36), existing_nullable=True) batch_op.alter_column('sender', existing_type=sa.TEXT(), type_=sa.String(length=10), existing_nullable=True) batch_op.alter_column('timestamp', existing_type=sa.TEXT(), type_=sa.DateTime(), existing_nullable=True) with op.batch_alter_table('users', schema=None) as batch_op: batch_op.add_column(sa.Column('is_admin', sa.Boolean(), nullable=True)) batch_op.alter_column('id', existing_type=sa.INTEGER(), nullable=False, autoincrement=True) batch_op.alter_column('username', existing_type=sa.TEXT(), type_=sa.String(length=50), existing_nullable=False) batch_op.alter_column('email', existing_type=sa.TEXT(), type_=sa.String(length=100), existing_nullable=False) batch_op.alter_column('password_hash', existing_type=sa.TEXT(), type_=sa.String(length=200), existing_nullable=False) batch_op.alter_column('created_at', existing_type=sa.TEXT(), type_=sa.DateTime(), existing_nullable=True, existing_server_default=sa.text('(CURRENT_TIMESTAMP)')) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### with op.batch_alter_table('users', schema=None) as batch_op: batch_op.alter_column('created_at', existing_type=sa.DateTime(), type_=sa.TEXT(), existing_nullable=True, existing_server_default=sa.text('(CURRENT_TIMESTAMP)')) batch_op.alter_column('password_hash', existing_type=sa.String(length=200), type_=sa.TEXT(), existing_nullable=False) batch_op.alter_column('email', existing_type=sa.String(length=100), type_=sa.TEXT(), existing_nullable=False) batch_op.alter_column('username', existing_type=sa.String(length=50), type_=sa.TEXT(), existing_nullable=False) batch_op.alter_column('id', existing_type=sa.INTEGER(), nullable=True, autoincrement=True) batch_op.drop_column('is_admin') with op.batch_alter_table('messages', schema=None) as batch_op: batch_op.alter_column('timestamp', existing_type=sa.DateTime(), type_=sa.TEXT(), existing_nullable=True) batch_op.alter_column('sender', existing_type=sa.String(length=10), type_=sa.TEXT(), existing_nullable=True) batch_op.alter_column('chat_id', existing_type=sa.String(length=36), type_=sa.TEXT(), existing_nullable=True) batch_op.alter_column('id', existing_type=sa.INTEGER(), nullable=True, autoincrement=True) with op.batch_alter_table('chats', schema=None) as batch_op: batch_op.alter_column('title', existing_type=sa.String(length=100), type_=sa.TEXT(), existing_nullable=True) batch_op.alter_column('created_at', existing_type=sa.DateTime(), type_=sa.TEXT(), existing_nullable=True) batch_op.alter_column('chat_id', existing_type=sa.String(length=36), type_=sa.TEXT(), nullable=True) with op.batch_alter_table('analysis_reports', schema=None) as batch_op: batch_op.alter_column('created_at', existing_type=sa.DateTime(), type_=sa.TEXT(), existing_nullable=True, existing_server_default=sa.text('(CURRENT_TIMESTAMP)')) batch_op.alter_column('confidence', existing_type=sa.Float(), type_=sa.REAL(), existing_nullable=True) batch_op.alter_column('emotion', existing_type=sa.String(length=50), type_=sa.TEXT(), existing_nullable=True) batch_op.alter_column('id', existing_type=sa.INTEGER(), nullable=True, autoincrement=True) op.create_table('sqlite_sequence', sa.Column('name', sa.NullType(), nullable=True), sa.Column('seq', sa.NullType(), nullable=True) ) # ### end Alembic commands ###