From b046411302553158e2af49eeb984ad3e564bf79b Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 26 Jan 2026 15:39:35 +0800 Subject: [PATCH] [modify] migration script --- api/migrations/versions/325b759cd66b_2026011240.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/api/migrations/versions/325b759cd66b_2026011240.py b/api/migrations/versions/325b759cd66b_2026011240.py index 66c8681c..763b0289 100644 --- a/api/migrations/versions/325b759cd66b_2026011240.py +++ b/api/migrations/versions/325b759cd66b_2026011240.py @@ -25,22 +25,24 @@ def upgrade() -> None: op.alter_column('memory_config', 'group_id', new_column_name='end_user_id') # 3. config_id: INTEGER -> UUID(保留旧值以便回滚) - op.alter_column('memory_config', 'config_id', new_column_name='config_id_old') + op.drop_constraint('data_config_pkey', 'memory_config', type_='primary') + op.alter_column('memory_config', 'config_id', new_column_name='config_id_old', nullable=True) op.add_column('memory_config', sa.Column('config_id', sa.UUID(), nullable=True)) op.execute("UPDATE memory_config SET config_id = apply_id::uuid") - op.drop_constraint('data_config_pkey', 'memory_config', type_='primary') op.alter_column('memory_config', 'config_id', nullable=False) op.create_primary_key('memory_config_pkey', 'memory_config', ['config_id']) op.execute("DROP SEQUENCE IF EXISTS data_config_config_id_seq") def downgrade() -> None: - # 1. config_id: UUID -> INTEGER(恢复旧值) + # 1. config_id: UUID -> INTEGER(恢复旧值,空值生成新ID) + op.execute("CREATE SEQUENCE IF NOT EXISTS data_config_config_id_seq") + op.execute("UPDATE memory_config SET config_id_old = nextval('data_config_config_id_seq') WHERE config_id_old IS NULL") op.drop_constraint('memory_config_pkey', 'memory_config', type_='primary') op.drop_column('memory_config', 'config_id') - op.alter_column('memory_config', 'config_id_old', new_column_name='config_id') + op.alter_column('memory_config', 'config_id_old', new_column_name='config_id', nullable=False) op.create_primary_key('data_config_pkey', 'memory_config', ['config_id']) - op.execute("CREATE SEQUENCE IF NOT EXISTS data_config_config_id_seq OWNED BY memory_config.config_id") + op.execute("ALTER SEQUENCE data_config_config_id_seq OWNED BY memory_config.config_id") op.execute("SELECT setval('data_config_config_id_seq', COALESCE((SELECT MAX(config_id) FROM memory_config), 1))") # 2. 重命名列 end_user_id -> group_id