代码能回滚,数据库改了结构就回不去,所以迁移要按可回退设计。
拆分步骤:先加新字段并双写,切换读路径,最后才删旧字段。
每次迁移配一份回退脚本,发布前在预发库上跑一遍回退验证。
-- 只做可逆变更:先加列
ALTER TABLE orders ADD COLUMN status_new varchar(16);
-- 配套回退脚本
ALTER TABLE orders DROP COLUMN status_new;
-- 破坏性变更前先备好备份
pg_dump -Fc -t orders mydb > orders.dump
THE END






暂无评论内容