3 — 生成迁移
语句按表分组;执行前请先检查输出。
尚未生成差异。
范围:这是针对表、列、主键、可空性、默认值和外键的结构差异对比。索引、触发器、视图与数据回填不在范围内,需要手动补充。SQLite 无法原地修改列,相关变更会以注释形式提示你重建表。
什么是数据库迁移?
迁移是修改数据库结构的版本化脚本:建这张表、加那列、删索引。团队按顺序执行迁移,让每个环境 — 开发、预发布、生产 — 沿同一路径从一个版本走到下一个版本,而不是被手工改得与代码完全对不上。每个迁移通常分两半:up 应用变更,down 撤销变更,这样一次糟糕的发布可以按原路回滚。
删除表或列的迁移是破坏性的 — down 脚本无法复活已删除的数据。执行会删除内容的迁移前,请先备份(或至少导出受影响的表)。