Drizzle 迁移的安全流程
Nov 3, 2026VrmMate Team
开发用 push,生产用 generate 加人工审核。
迁移的风险不在生成 SQL,而在没人看就执行。
开发期
频繁调整表结构时用 db:push,直接同步,允许丢数据。这是效率优先的选择。
生产期
改完 schema 用 db:generate 生成迁移文件,逐条检查是否有 DROP COLUMN、改类型或大表重写。确认后再 db:migrate。
不可逆操作
删列、改类型、改主键要分步骤:先加新列并双写,迁移数据,再删除旧列。一步到位在回滚时会很痛苦。
记录
迁移文件入库并随代码发布,生产环境不要手工改表结构。手工改动会让 schema 与迁移历史脱节。