dsh-db-migration
其他 活跃维护

dsh-db-migration

uckkk/dsh-db-migration

支持对比两份SQL DDL脚本,自动检测表、列的结构与属性差异,直接生成可执行的ALTER TABLE迁移SQL,无需人工排查结构变更,迁移准备流程高效又准确。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
7 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:uckkk/dsh-db-migration
git clone https://github.com/uckkk/dsh-db-migration.git
git clone git@github.com:uckkk/dsh-db-migration.git
README.md main

dsh-db-migration · 数据库迁移生成

对比两个 SQL DDL 文件(CREATE TABLE 集合),检测新增/删除/变更的表与列,并生成 ALTER TABLE / DROP TABLE 迁移 SQL。纯 Node 实现,无网络、无外部服务。

提供的工具

工具 作用
diff_schema 对比旧版/新版 DDL,返回结构差异统计 + 迁移 SQL

安装

dsh plugin add dsh-db-migration

安装后在 profile 的 package.json 的 dsh.profile.bundles 中加入 "dsh-db-migration"。

用法示例

对比旧版和新版数据库结构,生成迁移 SQL
→ 调用 diff_schema(oldFile="schema_v1.sql", newFile="schema_v2.sql", outFile="migrations/20260816_up.sql")

识别范围

  • 新增/删除表(生成 CREATE TABLE / DROP TABLE)
  • 新增/删除列(生成 ALTER TABLE ADD/DROP COLUMN)
  • 列类型变更(生成 ALTER TABLE MODIFY COLUMN)
  • 支持常见类型(含 DECIMAL(10,2)、VARCHAR(255)、ENUM('a','b') 等带括号/逗号类型)

说明

  • 覆盖常见 CREATE TABLE(MySQL/PostgreSQL/SQLite 基础列定义);外键、索引、复合主键、复杂默认值/触发器不在处理范围。
  • 生成的迁移 SQL 是起点,涉及线上数据时请务必人工复核后再执行。

安装

dsh plugin add github:uckkk/dsh-db-migration

安装即在本机运行第三方代码,请自行审阅源码。

安装

dsh plugin add github:uckkk/dsh-db-migration

使用

安装后在会话中调用该插件注册的工具即可。

许可

MIT

安装即在本机运行第三方代码,请自行审阅源码。