From b620b50f23231cd84d9aa8141d4f142f889a761a Mon Sep 17 00:00:00 2001 From: lingying Date: Wed, 16 Sep 2026 03:48:56 +0800 Subject: [PATCH] fix(#1894): remove conflicting 076_merge_title_libs migration (renamed to 077) --- alembic/versions/076_merge_title_libs.py | 67 ------------------------ 1 file changed, 67 deletions(-) delete mode 100644 alembic/versions/076_merge_title_libs.py diff --git a/alembic/versions/076_merge_title_libs.py b/alembic/versions/076_merge_title_libs.py deleted file mode 100644 index c3dc2d9da..000000000 --- a/alembic/versions/076_merge_title_libs.py +++ /dev/null @@ -1,67 +0,0 @@ -"""#1894: merge title_libraries into scripts — add title_text/title_category/title_config - -Revision ID: 076_merge_title_libs -Revises: 075_add_sentence_timings -Create Date: 2026-09-15 -""" - -import sqlalchemy as sa - -from alembic import context, op - -revision = "076_merge_title_libs" -down_revision = "075_add_sentence_timings" -branch_labels = None -depends_on = None - - -def upgrade() -> None: - with op.batch_alter_table("scripts") as batch: - batch.add_column( - sa.Column("title_text", sa.String(500), nullable=False, server_default=""), - ) - batch.add_column( - sa.Column("title_category", sa.String(50), nullable=False, server_default=""), - ) - batch.add_column( - sa.Column("title_config", sa.JSON, nullable=False, server_default="{}"), - ) - - if context.get_context().dialect.name == "postgresql": - conn = op.get_bind() - result = conn.execute(sa.text("SELECT to_regclass('public.title_libraries')")) - if result.scalar() is not None: - conn.execute(sa.text(""" - INSERT INTO scripts - (id, user_id, title, content, segments, tags, - title_text, title_category, title_config, - created_at, updated_at) - SELECT - gen_random_uuid()::TEXT, - tl.user_id, - COALESCE(tl.name, '迁移标题'), - COALESCE(tl.text, ''), - '[]'::JSONB, - COALESCE(tl.tags, '[]'::JSONB), - COALESCE(tl.text, ''), - COALESCE(tl.category, ''), - COALESCE(tl."metadata", '{}'::JSONB), - tl.created_at, - tl.updated_at - FROM title_libraries tl - WHERE tl.is_active = true - AND NOT EXISTS ( - SELECT 1 FROM scripts s - WHERE s.user_id = tl.user_id - AND s.title_text = COALESCE(tl.text, '') - AND s.title_category = COALESCE(tl.category, '') - AND s.created_at = tl.created_at - ) - """)) - - -def downgrade() -> None: - with op.batch_alter_table("scripts") as batch: - batch.drop_column("title_config") - batch.drop_column("title_category") - batch.drop_column("title_text")