我们有一个相当大的数据库,该数据库通过Symfony + Doctrine建立,已经运行了一段时间。这些实体中的某些实体当时由SoftDeletableTrait制成。这些实体中的某些不再需要软删除,因此我们将删除具有“ deletedAt”值的行,然后删除SoftDeletableTrait。
我们需要找到当前引用的表/行,例如:
TableA
ID name deleted_at
1 Foo NULL
2 Bar 01-01-2020 10:11:12
我希望所有引用TableA id = 2的表和行:
TableFoo id=19
TableFoo id=21
TableBar id=7
如果它在一个表中,我们可以进行子查询或联接以与另一个表进行比较,但我们不知道其他表的数量。
我们可以检查实体并查看其所有引用,但是TableA并不是唯一被清理的表,大约有10个大表,因此我们正在寻找一种(半)自动方法。