0
我有几个外键的表。我需要使用queryBuilder截断此表和相关表。Symfony2 querybuilder用外键和alter table截断
我发现两种解决方案:
所以,我试图实施第一个解决方案。 According to this example:
$connection->executeQuery('SET FOREIGN_KEY_CHECKS = 0;');
$truncateSql = $platform->getTruncateTableSQL('table_name');
$connection->executeUpdate($truncateSql);
$connection->executeQuery('SET FOREIGN_KEY_CHECKS = 1;');
但是,如果我需要实现为每个这种方法PDO这将是一个有点麻烦。
第二个解决方案看起来像更紧凑,但我不知道,如何做ALTER TABLE请求正确,使用queryBuilder。
所以,我的问题如下:
- 如何做到使用QueryBuilder的改变Symfony2的表格要求?
- 什么是最简洁的方式为每个PDO做截断表?
- 它是不是简洁的方式来截断不仅当前表,但每个相关的表?
非常感谢您的帮助!
更新: 另外,我发现this,但是这看起来像外的日期。
我找到了一些解决方案,但我不确定它是Symfony的方式。您可以在下面看到我的解决方案。
关于你提出的第二种解决方案,请注意,在Stack Overflow页面有人说:“请注意,如果不删除外键约束,你仍然不能截断表” –