How to install db-migrator
install db-migrator
# install the claude-code-skills-zh pack with the skills CLI
npx skills add laolaoshiren/claude-code-skills-zh# or add only this skill to Claude Code: copy the folder
skills/db-migrator/
# into
~/.claude/skills/db-migrator/ (all projects)
.claude/skills/db-migrator/ (one project)
1# 数据库迁移助手23## 触发条件4当用户要求数据库迁移、生成 migration、schema 变更、数据库升级时激活此技能。56## 工作流程78### 第 1 步:识别框架9扫描项目文件,判断使用的 ORM/迁移框架:10- `alembic.ini` / `alembic/` → Alembic11- `prisma/schema.prisma` → Prisma12- `pom.xml` 含 flyway → Flyway13- `manage.py` + `settings.py` → Django14- `Gemfile` + `db/migrate/` → Rails1516### 第 2 步:分析 Schema 变更17- 对比 models 定义与现有迁移历史18- 识别新增/修改/删除的表和字段19- 检测索引、约束、外键变更2021### 第 3 步:生成迁移脚本22根据框架生成对应的迁移文件,并同时生成回滚脚本。2324### 第 4 步:风险评估25- 大表 DDL 变更(锁表风险)26- 数据迁移需求27- 向后兼容性2829## 迁移模板3031### Alembic (Python)32```python33"""add email column to users3435Revision ID: abc12336"""37from alembic import op38import sqlalchemy as sa3940def upgrade():41 op.add_column('users', sa.Column('email', sa.String(255), nullable=True))42 op.create_index('ix_users_email', 'users', ['email'], unique=True)4344def downgrade():45 op.drop_index('ix_users_email')46 op.drop_column('users', 'email')47```4849### Flyway (Java)50```sql51-- V2__add_email_to_users.sql52ALTER TABLE users ADD COLUMN email VARCHAR(255);53CREATE UNIQUE INDEX ix_users_email ON users(email);5455-- 回滚脚本 (单独文件 U2__rollback_add_email.sql)56-- 逆向操作57```5859### Prisma (Node.js)60```prisma61// schema.prisma 变更62model User {63 id Int @id @default(autoincrement())64 name String65 email String? @unique // 新增字段66}67```68```bash69# 默认仅生成迁移,不执行数据库变更70npx prisma migrate dev --name add-email-to-users --create-only71```7273检查生成的 SQL、连接目标和备份后,再由用户确认执行:7475```bash76# 开发环境应用迁移77npx prisma migrate dev7879# 生产环境应用已审核并提交的迁移80npx prisma migrate deploy81```8283### Django (Python)84```python85…
Excerpt shown under the repository's MIT license.
