В нашем проекте мы сохраняем конфигурацию, хранящуюся в файлах с префиксом, тогда наша система сборки выберет соответствующую конфигурацию на основе имени хоста текущей системы. Это хорошо работает для нас в относительно небольшой команде, что позволяет нам применять изменения конфигурации в файлах других людей, если / когда мы добавляем новый элемент конфигурации. Очевидно, что это определенно не масштабируется для проектов с открытым исходным кодом с неограниченным числом разработчиков.
Я больше привык к решению для подзапроса этого, но я не попробовал его в MySQL:
DELETE FROM posts
WHERE project_id IN (
SELECT project_id
FROM projects
WHERE client_id = :client_id
);