← 返回列表
D

dsh-db-migration

v0.1.0 · 1 天前发布

数据库迁移生成:对比两个 SQL DDL 文件(CREATE TABLE),检测新增/删除/变更的表与列,生成 ALTER TABLE 迁移 SQL

deepseek-harnessdshdsh-plugindatabasemigrationddlschema数据库迁移

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.jsondsh.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"}}