◆纸鸢志

D1 迁移实践:让数据库结构可追溯

把 schema 变更写进版本化文件,而不是手敲 SQL。这一步能在未来省下大量排查时间。

数据库结构变更最怕两件事:一是环境之间不一致,二是不知道线上当前是什么版本。迁移文件能同时解决这两个问题。

做法很简单:所有结构变更都写成 `migrations/000N_xxx.sql`,按序号命名,只增不改。执行工具会记录已应用的迁移,重复运行不会重复执行。本地和线上用同一套文件,差异自然消失。

内容上要保持迁移的幂等性与可回滚性的意识。虽然 D1 目前不支持自动回滚,但把「破坏性变更」拆成多步(先加新列、再双写、最后删旧列)能显著降低风险。

种子数据建议单独一个迁移文件,和结构变更分开。这样生产环境可以只跑结构、跳过种子;本地开发则两者都跑,开箱即有数据可看。

另外记得给外键加 `ON DELETE CASCADE`。删文章时评论应该一起走,否则会留下永远无法访问的孤儿数据。

陈舟

@chenzhou

全部文章

评论

0 条

还没有评论,来说第一句。

继续阅读