Я работал над несколькими PHP-проектами (веб-сайт, сценарии опроса, службы AMQP и т. Д.), И все они связаны с каждым из них, поэтому в схеме базы данных есть некоторые совпадения. До сих пор я использовал Doctrine DBAL как для генерации моей схемы (используя SchemaManager), так и для доступа к данным через (не-ORM) сущности и классы репозитория.
Мой вопрос касается поиска лучшей практики для хранения / совместного использования объектов, связанных с базой данных, вокруг моей платформы.
Например, сторона веб-сайта проекта в настоящее время содержит схему для нескольких обязательных таблиц, что дает преимущество автоматического создания моих таблиц при загрузке другого сервера экземпляров. В отдельном проекте я построил службу мониторинга и в этом проекте определил таблицы, необходимые для хранения настроек. Все это выглядит хорошо, однако теперь я хочу создать на веб-сайте страницу администратора, которая позволяет мне обновлять записи в таблицах обслуживания монитора.
Я на самом деле не хочу включать системный код монитора в базу кода веб-сайта (через композитора), чтобы просто поделиться репозиториями и схемами, поэтому я ищу идеи для лучшей компоновки.
Моя первая идея состоит в том, чтобы создать отдельный проект «совместно используемой схемы», который включает в себя общесистемные классы баз данных, чтобы все мои файлы схемы, репозитории и сущности находились в одном месте, однако я не уверен, насколько это целесообразно. Меня беспокоит то, что если я загружаю это во все проекты через композитор, то мне придется в конечном итоге обновлять несколько проектов каждый раз, когда я что-то изменяю в схеме и т. Д.
Пожалуйста, дайте мне знать, если у вас есть какие-либо конкретные вопросы или советы о том, как лучше всего справиться с такой ситуацией.
Спасибо
Задача ещё не решена.
Других решений пока нет …