发布回滚了但数据库变更回不去,怎么设计可回滚的迁移

代码能回滚,数据库改了结构就回不去,所以迁移要按可回退设计。

拆分步骤:先加新字段并双写,切换读路径,最后才删旧字段。

每次迁移配一份回退脚本,发布前在预发库上跑一遍回退验证。

-- 只做可逆变更:先加列
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
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容