Мне предлагают сделать users, но я не могу совместить клиентов и администратора в одну таблицу.С точки здравого смысла да, не можете. Вам никто и не предлагает это сделать. Вам предлагают следовать правилу SOLID. Так как сотрудники у вас имеют две функции: отвечать за аутентификацию и существовать в системе, то логично, что клиенты не могут быть сотрудниками с разделением по роли. Поэтому у вас несколько вариантов:
Вопрос как раз и состоит в том, что если заказчику приспичит добавить роли клиентам, то мне нужно будет дополнительно заводить rbac таблицы в дб, вместо добавления в существующие?
Для всех 270кзачем мне эта информация? Вы постоянно о ней говорите. 7, 70 270к, миллион. На архитектуру таблиц это не особо как влияет.
обязательно должны быть сгенерированы логины и пароли и без разницы будут они пользоваться сайтом или нет.Зачем генерировать всем тем, кто не будет пользоваться? Глупо. К тому же сгенерированные данные и введенные пользователем куда приятнее. Пользователь сам может решить какой у него будет логин и пароль, а ваша задача связать данные ему в личный кабинет из CRM
Мне номер договора нужно указывать в auth_users или все-таки в crm_clients?и там и там, если вы хотите авторизовывать клиента несколькими способами: логин, договор, нетворки и так далее. AUTH это все что касается Аутентификации. Если для Аутентификации вы используете email, то где этот email вам указывать? и там и там. Если используете Аутентификацию по phone то где указывать телефон? И там и там. При авторизации у вас будет три поля: метод Аутентификации, логин (телефон, договор, email), пароль. Можно существовать и без метода аутенфикации, но придется искать по всем полям.
Мне логин добавлять в auth_users или crm_employees?Ответьте себе на вопрос сами! Задайте вопрос - "Логин для чего нужен? Где используется?" Для аутентификации, в аутенфикации. Зачем вам в CRM логин клиета? Вам вообще не важно как он авторизуется. Это задача системы Auth. В CRM вам важно сколько он купил, какие у него контакты, контактов может быть много ну и так далее.
Клиентам букво-циферный логин при этом не нужен, но администраторам не нужен номер договора.логин по идее нужен всем. Просто кто-то может его не использовать при авторизации, а кто-то может.
Зачем генерировать всем тем, кто не будет пользоваться? Глупо.
В CRM вам важно сколько он купил, какие у него контакты, контактов может быть много ну и так далее.
Сгенерировать надо для всех. Глупо или не глупо, дело не моё - это хотелки заказчика. Они собираются внести всех клиентов и разослать по смс номера договоров и пароли для входа.Теперь понял. Но все равно логичнее не всем рассылать, а обратился - выслал. А если он телефон уже давно не использует. А вы ему высылаете доступ. Или ребенку отдали на пользование. Но это дело Ваше)
Я не уверен что это crm, это просто личный кабинет для клиентов с информацией о текущем статусе их заявок (которые сейчас они узнают по телефону или в офисе) и тикетами. Не более.А что это? Блог?