我使用 Symfony 4.2 并遵循数据库优先方法并具有自动生成的实体;但随后我需要对实体中的字段定义进行一些更改,但我不想影响数据库结构。一切都运行良好,但如果我尝试创建迁移,学说包括迁移中的所有差异,并且我找不到任何方法来阻止这种行为。我已经尝试过
schema_filter: ~^migration_versions$~
但不知何故它没有帮助。
所以问题:
当数据库和实体中的列定义略有不同时,这是产品上的正常应用程序状态吗?
我该如何说在创建迁移时忽略某些表中的差异?
当您运行
bin/console doctrine:migrations:diff
时,它将在您的 src\Migrations\
目录中生成一个文件。您可以在运行之前编辑生成的文件以删除您不想更改的内容 bin/console doctrine:migrations:migrate
。
不过,我不建议在生产服务器上执行此操作,特别是如果您这样做,那么您当然应该备份数据库。