如何在 Symfony 4 的 DoctrineFixtures 中排除一些要清除的表?

How to exclude some tables to be purged in DoctrineFixtures in Symfony 4?

我们如何排除某些要通过 doctrine:fixtures:load 清除的表(例如,国家/地区、城市等)?有没有yaml配置文件之类的?

php bin/console doctrine:fixtures:load --append

默认情况下,加载命令会清除数据库,从每个 table 中删除所有数据。要附加灯具的数据,请添加 --append 选项。

来源:Symfony Documentation

是的,这些选项最近在 https://github.com/doctrine/DoctrineFixturesBundle/pull/307

中实施

您现在可以使用 --purge-exclusions 选项。享受! 例如

php bin/console doctrine:fixtures:load --no-interaction --env=test --purge-exclusions=regions --purge-exclusions=countries

您可以阅读如何自定义清除行为https://symfony.com/doc/3.1/bundles/DoctrineFixturesBundle/index.html#specifying-purging-behavior

请注意,此功能仅在 3.4.0 版本 https://github.com/doctrine/DoctrineFixturesBundle/releases/tag/3.4.0

后可用