@fattan
программист

Таблицы в БД для Symfony Bundle — префиксы таблиц или отдельные БД?

Есть у нас система документооборота, которую сейчас на Symfony3 переписываю. Возник вопрос по организации Bundles и их моделей.
Система представляет собой набор модулей (Bundles в терминологии Symfony3 ). В каждом модуле есть документы. У документов есть комментарии, статусы и набор полей отличающийся от модуля к модулю. Также, некоторые (но не все) модули взяимосвязаны. Например, документ в модуле А создаётся на основании созданного и подписанного документа в модуле Б.
На данный момент разделение модулей реализовано префиксами, все они в одной БД:
exp_document,
exp_comments,
pay_document,
pay_comments,


Но где-то я вычитал, что еще можно делать такое деление: один модуль(бандл) = одна БД.
То есть будет:
exp_db:
document,
comments,
pay_db:
document,
comments,


Вопрос: как грамотнее организовать? С префиксами, как сейчас? Или с разделением по базам данных?
Учитывая, что в некоторых модулях есть привязка к информации из других модулей.
  • Вопрос задан
  • 307 просмотров
Пригласить эксперта
Ответы на вопрос 2
myrkoxx
@myrkoxx
developer
Думаю лучше использовать префикс. Использовать разделение по бд возможно будет уместно если у вас будет (есть) большая нагрузка, хотя думаю в таком случае есть и лучшие паттерны . Как вариант при нагрузке возможно будет лучше дробить ваше приложение на микросервисы с api нежели держать монолитом.
Ответ написан
Комментировать
@shagguboy
при разделении по БД внешние ключи не сделаешь.

если пользоваться ORM то имена таблиц неважны впринципе.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы