如何在具有现有数据库的运行项目中引入数据库迁移?

时间:2019-06-23 15:02:22

标签: mysql doctrine-orm doctrine migration database-migration

前段时间,我编写了一个使用MySQL 5.7和Doctrine 2的Zend Framework 3应用程序。

数据库模式更新和“版本控制”是/是“数据模型驱动的”。意思是:每当需要更新架构时,首先要在MySQL Workbench中的模型中进行更改。之后,通过使用相应的MySQL Workbench功能,所有环境中的数据库都将与模型同步。最后(但并非最不重要):然后手动更新数据库测试的模式。

(今天阅读所有内容有点令人困惑,但是当我编写该应用程序时,这似乎是一个不错的方法……)

现在,我想切换到迁移。我知道如何使用(设置,创建,编写等)迁移。这不是问题。问题是:

如何在现有应用和数据库的上下文中切换


DR; TL

我的计划:

显然,第一步也是最费力的步骤是建立新数据库:

  1. 创建结构:我需要为现有结构创建迁移。应该是基于PHP代码的迁移(而不是简单的SQL),因此我以后可以将它们重新用于测试数据库(因为我希望能够在SQLite中/内存中运行测试)。
  2. 将基本数据插入应用程序数据库。
  3. 将测试基本数据插入测试数据库。

就是这样。或不?是否有我没有考虑的东西?有任何隐藏的困难,有绊脚石吗?

0 个答案:

没有答案