新数据库设置中的Doctrine Migrations

Mic*_*chi 5 migration symfony doctrine-orm

我们正在使用Doctrine Migrations来保持应用程序数据库在不同版本之间同步.每当我们获得新客户意味着每个安装的新数据库时,都会安装该应用程序.

现在,新数据库将在迁移文件中进行所有数据库更改,但会尝试执行迁移文件,因为它们未在迁移表中注册.

处理这种情况的最佳方法是什么?

小智 5

刚刚安装完全填充当前架构后,请使用以下命令:

  1. 创建当前版本的新空chema

    ./bin/console doctrine:schema:create

  2. 使用当前版本填写迁移记录(不实际运行迁移 - 架构在第一个命令后已经具有当前版本)

    ./bin/console doctrine:migrations:version --add --all

此命令添加迁移记录,doctrine:migrations:status并将向您显示当前版本不需要迁移.

就这样!


Stu*_*Bez 1

正如我的评论中提到的,我仅通过使用 Doctrine 迁移就成功创建了一个空白数据库模式。我认为有必要先创建空数据库(php app/console doctrine:database:create),然后运行迁移任务。

我能想到的唯一潜在问题是您的应用程序运行所需的任何基础数据要么需要位于迁移文件中,要么需要单独插入。

顺便说一句,一次性运行所有迁移会发现一些我在一次执行一个时错过的小错误。