Проектирование сервиса на YII2. Как грамотнее?

Хочется понять как организовать хранение данных. Проектирую сервис на YII2. Сервис что то вроде CRM. Пользователь регистрируется, получает CRM на потдомене, может создавать аккаунт для менеджеров с назначением разных прав. Менеджеры могут оставлять сообщения заводить клиентов и тд.

Правильно ли хранить каждую CRM на потдомене в одной бд? Если да то как изолировать их друг от друга?
Например в таблице с сообщениями будет хранится много записей, достаточно ли делать выборку только по ID CRM.
Где можно почерпать знаний по проектированию и разработке подобных систем на PHP.
  • Вопрос задан
  • 1157 просмотров
Пригласить эксперта
Ответы на вопрос 1
vyachin
@vyachin
Ищу работу
У нас для каждого клиента свой поддомен и своя база данных. Клиенты регистрируются после бюрократической процедуры - заключения договора. Если хранить всех клиентов в одной базе - вы все равно придете к процедуре партиционирования таблиц, иначе все будет Очень медленно работать.

В нашем варианте есть сложности - обновление структуры БД, нужно применить миграции для каждой БД. Сейчас это решается bash скриптом + файлом со списком клиентов. Плюс конечно тоже есть - если миграция отвалилась - мы сломали только одного клиента, остальные могут работать нормально. Так что если правильно настроить деплой - проблем не будет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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