使用迁移的好处

时间:2013-02-10 11:48:53

标签: database version-control language-agnostic migration

我目前正在学习支持迁移的框架。

我的问题是:使用迁移的主要好处是什么?

为什么我们不使用数据库管理工具来添加/删除/更改表并直接执行其他操作?或者为什么不直接导出我的.sql文件,我的团队将其导入数据库?

2 个答案:

答案 0 :(得分:8)

迁移是部署过程的一部分。因此,迁移(一般)的好处是

  • 您不必手动执行此操作(因为在部署时,您可能迟早会忘记架构更改)
  • 你可以在本地测试它(因为你迟早会犯错)
  • 您不必告诉您的团队成员手动更改本地数据库(因为这简直令人烦恼),或者导入新的转储(再次......)
  • 如果您有多个环境(阶段,产品,测试),则必须在任何系统上执行此步骤。这增加了错误的可能性
  • 您可能不希望将(可能已过时的)开发数据库导入到实时系统中;)

请注意,在项目开始时,架构可能很简单,数据库很小,但这不会保留。迟早(;))你将面对庞大的数据库,需要时间来导入。

附加:如果出现错误,良好的迁移通常会有“降级”步骤。使用您的方法,如果部署出错,您必须手动恢复数据库更改,这更容易出错。

答案 1 :(得分:4)

将它们视为数据库的版本控制。它还使您可以轻松自动地将更改部署到多个环境(例如,您的开发环境,然后是您的测试/生产服务器),而不必记住您在PHPMyAdmin中所做的操作。

告诉别人他们需要迁移他们的数据库比告诉他们需要对他们的数据库做出的每个更改更容易。