У нас довольно большая база данных, настроенная с помощью Symfony + Doctrine, которая работает некоторое время. Некоторые из этих сущностей сделаны с SoftDeletableTrait в то время. Некоторые из этих сущностей больше не нуждаются в softdelete, поэтому мы собираемся удалить строки со значением «deleteAt», а затем отбросить 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 больших таблиц, поэтому мы ищем (полу) автоматизированный метод c.