使用Symfony Fixtures Bundle时有什么方法可以防止清除一个表吗?
答案 0 :(得分:1)
如果在控制器中进行清除,则可以编写如下代码:
use Doctrine\Common\DataFixtures\Purger\ORMPurger;
...
$excludedTables = ['my_table1', 'my_table42'];
$purger = new ORMPurger($this->getDoctrine()->getManager(), $excludedTables);
$purger->purge();
如果要在某些无法访问实体管理器的类中进行清除,则必须将其注入类的构造函数中,或者作为清除方法的参数。代码的其余部分看起来应该像以前一样,只有清除器的构造应该如下所示:
$purger = new ORMPurger($injectedEntityManager, $excluded);
答案 1 :(得分:1)
但是I created a PR有点晚了,它允许使用--exclude-table
选项。如果/一旦合并,则可以使用以下语法:
php bin/console doctrine:fixtures:load --exclude-table=table_name --exclude-table=table_2_name
将正常运行灯具,但不会清除table_name
或table_2_name
。