数据库迁移生成器

在左侧粘贴当前 Schema、右侧粘贴目标 Schema — 可以是 CREATE TABLE DDL,也可以是来自 ERD 设计器 的 Schema JSON — 然后生成正向(up)脚本与对应的回滚(down)脚本:新增与删除的表、增加、移除与修改的列、外键变化,并按 MySQL、PostgreSQL、SQL Server、SQLite、Oracle 或标准 SQL 加引号。不上传任何内容;差异对比在你的浏览器中完成。
1 — 之前(当前 Schema)
2 — 之后(目标 Schema)
3 — 生成迁移
语句按表分组;执行前请先检查输出。
尚未生成差异。
范围:这是针对表、列、主键、可空性、默认值和外键的结构差异对比。索引、触发器、视图与数据回填不在范围内,需要手动补充。SQLite 无法原地修改列,相关变更会以注释形式提示你重建表。
什么是数据库迁移?

迁移是修改数据库结构的版本化脚本:建这张表、加那列、删索引。团队按顺序执行迁移,让每个环境 — 开发、预发布、生产 — 沿同一路径从一个版本走到下一个版本,而不是被手工改得与代码完全对不上。每个迁移通常分两半:up 应用变更,down 撤销变更,这样一次糟糕的发布可以按原路回滚。

删除表或列的迁移是破坏性的 — down 脚本无法复活已删除的数据。执行会删除内容的迁移前,请先备份(或至少导出受影响的表)。