Задать вопрос

Многопользовательская CRM, или как организовать?

Здравствуйте уважаемые гуру!
Суть вопроса, есть CRM для одной фирмы, стабильно работает на PHP-шном фрэймворке (MVC), обычные запросы SQL, без memcached, скрипты JQUERY.
Вообщем всё работает стабильно, появилась задача, сделать это для многих компаний, для каждой создавать свой отдельный сайт и базу не вариант, надо из одного.
Смотря на имеющуюся базу понимаю что одной таблицы , мало, для каждой новой компании создавать свои таблицы и по номеру главного пользователя выбирать её? Но это приведёт к огромному числу таблиц.

Куда смотреть в плане PHP фрэймворка и JS ,
Вообщем с удовольствием пообщаюсь на эту тему и почитаю предложенные материалы .
  • Вопрос задан
  • 515 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@four4
Если она изначально не multi-tenancy, то никак.
Если бы была спроектирована под mutli-tenancy - просто в каждой таблице дополнительное поле и фильтровать ВСЕГДА по нему, чтобы не видеть чужих данных. Но чтобы сейчас, на готовой уже системе, так сделать - это глубоко лопатить код с риском, что увидят чужие данные, если вы ошибетесь.
Ответ написан
А почему одной таблицы мало?.. Измените структуру - в одной таблице храните аккаунты, во второй - записи, которые эти аккаунты будут вносить (по аналоги ис уже имеющейся таблицей). В таблицы с данными просто будете заносить id пользователя, и все.
Записей, конечно, будет много, поэтому придется уделить вопрос оптимизации (как минимум определить самые частые выборки).
Ответ написан
Комментировать
Если не хочется плодить таблицы, можно сделать одну таблицу, в которую вы будете добавлять компании, которые подключаются к вашей CRM и идентификатор из этой таблицы использовать как ключ во всех таблицах, где требуется разделение данных по компаниям.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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