"""Add scripts table for oral broadcast script library (Issue #1795) Revision ID: 070_add_scripts Revises: 069_project_is_default Create Date: 2026-09-08 新建 scripts 表,支持口播文案 CRUD + 分段存储。 """ import sqlalchemy as sa from alembic import op revision = "070_add_scripts" down_revision = "069_project_is_default" branch_labels = None depends_on = None def upgrade() -> None: op.create_table( "scripts", sa.Column("id", sa.String(36), nullable=False), sa.Column("user_id", sa.String(36), nullable=False), sa.Column("title", sa.String(255), nullable=False), sa.Column("content", sa.Text(), nullable=False, server_default=""), sa.Column("segments", sa.JSON(), nullable=False, server_default="[]"), sa.Column("tags", sa.JSON(), nullable=False, server_default="[]"), sa.Column( "created_at", sa.DateTime(timezone=True), nullable=False, server_default=sa.func.now(), ), sa.Column( "updated_at", sa.DateTime(timezone=True), nullable=False, server_default=sa.func.now(), ), sa.PrimaryKeyConstraint("id"), ) op.create_index("ix_scripts_user_id", "scripts", ["user_id"]) def downgrade() -> None: op.drop_index("ix_scripts_user_id", table_name="scripts") op.drop_table("scripts")