6

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

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

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

4

2 回答 2

8

迁移是部署过程的一部分。所以迁移的好处(一般来说)是

  • 您不必手动进行(因为在部署时您可能迟早会忘记架构更改)
  • 你可以在本地测试它(因为你可能迟早会犯错误)
  • 您不必告诉您的团队成员手动更改他们的本地数据库(因为这很烦人),或者导入新的转储(再次......)
  • 如果您有多个环境(stage、prod、test),则必须在任何系统上执行此步骤。这增加了出错的概率
  • 您可能不想将(可能已过时的)开发数据库导入实时系统;)

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

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

于 2013-02-10T11:55:31.643 回答
4

将它们视为数据库的版本控制。它还使将您的更改部署到多个环境(例如您的开发环境,然后是您的测试/生产服务器)变得容易和自动化,而不必记住您在 PHPMyAdmin 中所做的事情。

告诉某人他们需要迁移他们的数据库比告诉他们需要对他们的数据库进行的每个单独的更改更容易。

于 2013-02-10T11:55:18.023 回答