26得票1回答
如何停止Doctrine2迁移:Diff总是添加已经存在于数据库中的外键关系?

我正在使用doctrine2和symfony2.1项目。我的实体与其他表有几个多对一的关系。这些多对一的外键关系已经在数据库中更新,但每次我运行migrations:diff或schema:update --dump-sql时,它都会再次添加相同的更新命令以添加外键关系。当我运行schema:...

19得票1回答
如何编写一份Doctrine迁移,以便将数据重新分配到新表中?

我有一个数据库(实际上是在Symfony1应用程序中使用Propel创建的)。我正在使用Symfony2和Doctrine重新实现它,但我也想利用这个机会对数据库进行一些重构。 我定义了一组Doctrine Entities并运行了doctrine:migrations:diff,它为我创建...

16得票2回答
使用Symfony 3和Doctrine迁移,执行下一个/上一个迁移

我知道可以使用execute和版本号up / down来运行特定的迁移,例如: doctrine:migrations:execute YYYYMMDDHHMMSS --down 我的问题是 - 是否有更简单的方法只需运行下一个或上一个迁移,而无需查找版本号? 理想情况下,我希望像这样做...

14得票3回答
将Docker容器部署到AWS时,运行数据库迁移命令。

请耐心等待,我对Docker还不是很熟悉。 我正在使用CodeDeploy将Docker容器(分离的)部署到AWS EC2注册表中。在部署时,在设置一些环境变量等之后,会执行以下命令: exec docker run -d ${PORTS} -v cache-${CACHE_VOLUME}...

12得票1回答
防止Doctrine迁移差异删除表格

我目前正在对一份大型现有数据库进行“Doctrinizing”处理。该过程进展顺利,我们正在逐步能够用实体和DQL替换旧的原始查询代码。 最近,我们发现了非常棒的Doctrine Migrations项目,它似乎是管理我们数据库变更的完美候选人。但是我们遇到了一个小问题。 我们的数据库很大...

10得票1回答
使用Doctrine迁移重命名表名

我已经到处搜索过了,但是没有找到任何有帮助的结果。 是否有命令或程序可以更改表的名称(即Doctrine注释内部),而不会丢失数据? 基本上,需要一些类似于以下内容的东西: RENAME TABLE old_table TO new_table; 或者 ALTER TABLE ol...

9得票2回答
如何测试Doctrine Migrations?

我正在处理一个项目,该项目在开发环境中没有生产数据库的副本。 有时我们会遇到数据库迁移问题-它们通过开发数据库,但在生产/测试环境中失败。 这通常是因为Dev环境数据是从使用最新实体的Fixture加载的-正确填充所有表。 是否有任何简单的方法可以确保Doctrine Migration...

9得票1回答
Doctrine迁移:diff生成相同的唯一索引约束

我有一个奇怪的问题。当我运行 doctrine-migrations migrations:diff 命令时,它会重新生成在之前的迁移中已经设置的索引。 之前的迁移(唯一索引也存在于我的数据库中): $this->addSql('CREATE TABLE my_table (id I...

8得票3回答
Doctrine migrations总是会生成一个空的up()和down()迁移,并将字符集更改为'utf8mb4_unicode_ci'。

当我运行命令 php bin/console doctrine:migrations:diff 时,总是会得到以下新生成的迁移文件: <?php declare(strict_types=1); namespace DoctrineMigrations; use Doctrine...

8得票4回答
Doctrine迁移类未找到错误,在尝试运行撤消/回滚命令时。

当我运行bin/console doctrine:migrations:list时,我看到迁移被列出为:Application\Migrations\Version20210909072642。 我正在尝试回滚迁移,并尝试了几个不同的版本: bin/console --env=dev do...