"""迁移脚本 Revision ID: e1db2024739c Revises: Create Date: 2025-12-22 17:27:01.532822 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa from sqlalchemy.dialects import mysql # revision identifiers, used by Alembic. revision: str = 'e1db2024739c' down_revision: Union[str, None] = None branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### op.create_table('miniapp_user', sa.Column('openid', sa.String(length=64), nullable=False, comment='微信openid'), sa.Column('unionid', sa.String(length=64), nullable=True, comment='微信unionid'), sa.Column('session_key', sa.String(length=64), nullable=True, comment='会话密钥'), sa.Column('nickname', sa.String(length=64), nullable=True, comment='昵称'), sa.Column('avatar', sa.String(length=512), nullable=True, comment='头像URL'), sa.Column('phone', sa.String(length=20), nullable=True, comment='手机号'), sa.Column('last_login', sa.DateTime(timezone=True), nullable=True, comment='最后登录时间'), sa.Column('id', sa.Integer(), autoincrement=True, nullable=False, comment='主键ID'), sa.Column('uuid', sa.String(length=64), nullable=False, comment='UUID全局唯一标识'), sa.Column('status', sa.String(length=10), nullable=False, comment='是否启用(0:启用 1:禁用)'), sa.Column('description', sa.Text(), nullable=True, comment='备注/描述'), sa.Column('created_time', sa.DateTime(), nullable=False, comment='创建时间'), sa.Column('updated_time', sa.DateTime(), nullable=False, comment='更新时间'), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('unionid'), sa.UniqueConstraint('uuid'), comment='小程序用户表' ) op.create_index(op.f('ix_miniapp_user_openid'), 'miniapp_user', ['openid'], unique=True) op.drop_index('ix_apscheduler_jobs_next_run_time', table_name='apscheduler_jobs') op.drop_table('apscheduler_jobs') op.alter_column('gen_table_column', 'is_pk', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text('false'), existing_comment='是否主键', existing_nullable=False) op.alter_column('gen_table_column', 'is_increment', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text('false'), existing_comment='是否自增', existing_nullable=False) op.alter_column('gen_table_column', 'is_nullable', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text('true'), existing_comment='是否允许为空', existing_nullable=False) op.alter_column('gen_table_column', 'is_unique', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text('false'), existing_comment='是否唯一', existing_nullable=False) op.alter_column('gen_table_column', 'is_insert', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text('true'), existing_comment='是否为新增字段', existing_nullable=False) op.alter_column('gen_table_column', 'is_edit', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text('true'), existing_comment='是否编辑字段', existing_nullable=False) op.alter_column('gen_table_column', 'is_list', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text('true'), existing_comment='是否列表字段', existing_nullable=False) op.alter_column('gen_table_column', 'is_query', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text('false'), existing_comment='是否查询字段', existing_nullable=False) # ### end Alembic commands ### def downgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### op.alter_column('gen_table_column', 'is_query', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text("'0'"), existing_comment='是否查询字段', existing_nullable=False) op.alter_column('gen_table_column', 'is_list', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text("'1'"), existing_comment='是否列表字段', existing_nullable=False) op.alter_column('gen_table_column', 'is_edit', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text("'1'"), existing_comment='是否编辑字段', existing_nullable=False) op.alter_column('gen_table_column', 'is_insert', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text("'1'"), existing_comment='是否为新增字段', existing_nullable=False) op.alter_column('gen_table_column', 'is_unique', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text("'0'"), existing_comment='是否唯一', existing_nullable=False) op.alter_column('gen_table_column', 'is_nullable', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text("'1'"), existing_comment='是否允许为空', existing_nullable=False) op.alter_column('gen_table_column', 'is_increment', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text("'0'"), existing_comment='是否自增', existing_nullable=False) op.alter_column('gen_table_column', 'is_pk', existing_type=mysql.TINYINT(display_width=1), server_default=sa.text("'0'"), existing_comment='是否主键', existing_nullable=False) op.create_table('apscheduler_jobs', sa.Column('id', mysql.VARCHAR(length=191), nullable=False), sa.Column('next_run_time', mysql.DOUBLE(asdecimal=True), nullable=True), sa.Column('job_state', sa.BLOB(), nullable=False), sa.PrimaryKeyConstraint('id'), mysql_collate='utf8mb4_0900_ai_ci', mysql_default_charset='utf8mb4', mysql_engine='InnoDB' ) op.create_index('ix_apscheduler_jobs_next_run_time', 'apscheduler_jobs', ['next_run_time'], unique=False) op.drop_index(op.f('ix_miniapp_user_openid'), table_name='miniapp_user') op.drop_table('miniapp_user') # ### end Alembic commands ###