"""create lawyer_contract table Revision ID: 984d88f91c0d Revises: Create Date: 2026-03-27 16:44:19.499604 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa from sqlalchemy.dialects import mysql revision: str = "984d88f91c0d" 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: op.create_table( "lawyer_contract", sa.Column("id", sa.BigInteger(), autoincrement=True, nullable=False, comment="主键"), sa.Column("lawyer_id", sa.BigInteger(), nullable=False, comment="律所id"), sa.Column("law_firm_name", sa.String(length=100), nullable=False, comment="律所名称"), sa.Column("business_segment", sa.String(length=100), nullable=False, comment="业务板块"), sa.Column("contact_name", sa.String(length=100), nullable=False, comment="联系人姓名"), sa.Column("contact_phone", sa.String(length=20), nullable=False, comment="联系电话"), sa.Column("signing_status", sa.String(length=20), nullable=False, server_default="未签署", comment="签署状态"), sa.Column("contract_url", mysql.LONGTEXT(), nullable=False, comment="合同URL"), sa.Column("ord_id", mysql.LONGTEXT(), nullable=False, comment="统一社会信用代码"), sa.Column("signing_time", sa.DateTime(), nullable=True, comment="签署时间"), sa.Column("effective_time", sa.DateTime(), nullable=True, comment="生效时间"), sa.Column("expiry_time", sa.DateTime(), nullable=True, comment="到期时间"), sa.Column("created_time", sa.DateTime(), server_default=sa.text("now()"), nullable=False, comment="创建时间"), sa.Column("updated_time", sa.DateTime(), server_default=sa.text("now()"), nullable=False, comment="更新时间"), sa.Column("delete_flag", sa.Integer(), server_default="0", nullable=False, comment="逻辑删除(0未删, 1已删)"), sa.PrimaryKeyConstraint("id"), ) op.create_index("idx_lawyer_contract_lawyer_id", "lawyer_contract", ["lawyer_id"], unique=False) op.create_index("idx_lawyer_contract_contact_phone", "lawyer_contract", ["contact_phone"], unique=False) op.create_index("idx_lawyer_contract_signing_status", "lawyer_contract", ["signing_status"], unique=False) def downgrade() -> None: op.drop_index("idx_lawyer_contract_signing_status", table_name="lawyer_contract") op.drop_index("idx_lawyer_contract_contact_phone", table_name="lawyer_contract") op.drop_index("idx_lawyer_contract_lawyer_id", table_name="lawyer_contract") op.drop_table("lawyer_contract")