У меня вопрос к дизайну приложения. У меня есть приложение для электронной коммерции, которым пользуются 9 клиентов. У каждого клиента одна и та же копия приложения с разным шаблоном внешнего интерфейса. Приложение разработано под laravel и обновляется на каждом клиентском сервере, чтобы быть в курсе. Таким образом, каждое приложение имеет один и тот же бэкэнд («движок»), один и тот же дизайн базы данных и т. Д. c.
Проблема в том, что два клиента хотят, чтобы пользовательские поля были для страниц CRUD. С текущим механизмом обновления каждый клиент получит те поля, которые мне не нужны.
Я думал о добавлении отдельной таблицы в базу данных, чтобы сохранить там конфигурацию всех полей - как карту столбцов таблицы. Поэтому, когда приложение используется, контроллер вызывает таблицу конфигурации, чтобы получить список полей и просмотреть их в поле зрения.
+---+---------------+-------------------+------------+
|id |controller | field_name |field_type |
+---+---------------+-------------------+------------+
| 1 | products | price_retail | integer |
| 2 | manufacturers | name | varchar |
| 3 | manufacturers | logo | varchar |
| 4 | manufacturers | custom_for_client | integer |
+---+---------------+-------------------+------------+
Это действительно - хорошая идея?