← AI 百科

数据库迁移(Migration)

部署与运维 · 部署 / 数据库
一句话:对数据库表结构的改动(加字段、改类型、建表)用版本化的脚本记录下来,团队协作和多环境部署时能保持结构一致。

它是什么

数据库迁移是把"给表加一个字段"这类结构性改动写成脚本文件,按顺序执行、可追溯、可回滚,而不是有人直接手动改数据库导致团队成员之间、开发/生产环境之间的表结构不一致。

适合干什么

  • 团队协作项目需要同步数据库结构变更
  • 生产环境需要安全、可追溯地修改表结构

不适合干什么

  • 个人练习项目、数据库结构几乎不变的简单场景(用不上这套机制)

普通人怎么用

不要直接在数据库管理工具里手动改表结构,而是用项目框架自带的迁移工具生成迁移脚本(描述这次要做什么改动),运行迁移命令让工具自动执行并记录版本。

进阶用户怎么用

生产环境执行迁移前,重要的结构性改动(尤其是删除字段、改变字段类型)要先在测试环境验证,并准备好回滚方案;大表加字段/加索引在某些数据库上可能锁表很久,要选择低峰期执行或用支持在线DDL的工具。

常见误区

  • 以为直接在数据库里手动改结构更快更简单,短期看似方便,但团队协作、多环境同步时会造成结构不一致的大麻烦
  • 大表结构变更没有评估锁表影响,直接在业务高峰期执行导致服务中断

和相似工具的区别

  • 和直接手动改数据库结构的区别:迁移脚本有版本记录、可以在不同环境重复执行保持一致、出问题能追溯是哪次改动导致的

入门步骤

  • 用项目框架自带的迁移工具生成迁移文件
  • 在测试环境先执行验证
  • 确认无误后在生产环境执行,并做好记录