D
dsh-db-migration
v0.1.0 · 1 天前发布
数据库迁移生成:对比两个 SQL DDL 文件(CREATE TABLE),检测新增/删除/变更的表与列,生成 ALTER TABLE 迁移 SQL
README
dsh-db-migration · 数据库迁移生成
对比两个 SQL DDL 文件(CREATE TABLE 集合),检测新增/删除/变更的表与列,并生成 ALTER TABLE / DROP TABLE 迁移 SQL。纯 Node 实现,无网络、无外部服务。
提供的工具
| 工具 | 作用 |
|---|---|
| diff_schema | 对比旧版/新版 DDL,返回结构差异统计 + 迁移 SQL |
安装
bash
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 基础列定义);外键、索引、复合主键、复杂默认值/触发器不在处理范围。版本兼容矩阵
| DSH 版本 | 状态 | 说明 |
|---|---|---|
dsh@0.1.0-rc.6 | ✅ 兼容 | cordis patch ✅ |
dsh@0.1.0 | ✅ 兼容 | 标准 patch ✅ |
dsh@0.2.0 | ⚠️ 待验证 | 待实测(API 可能在变) |
dsh@0.3.0+ | ❓ 未知 | 尚未发布 |
💡 兼容矩阵每周末自动跑实测,欢迎 PR 修正
元数据
- License
- MIT
- npm
- dsh-db-migration
- Repo
- —
- Engines
{}- Weekly DL
- 0
- Monthly DL
- 0
- dsh.bundle
{"bundle":{"patch":"./cordis.patch.yml"}}