Лучший подход к разрешению пользователям создавать свои собственные поля - PullRequest
0 голосов
/ 14 декабря 2011

Я собираюсь приступить к проекту, где пользователь сможет создавать свои собственные настраиваемые поля.МОЙ ВОПРОС - каков наилучший подход для чего-то подобного?

Вариант использования: у нас есть медицинские записи с такими атрибутами, как first_name, last_name и т.д.создавать настраиваемые поля.Например, они могут захотеть создать поле с именем 'second_phone' и т. Д. Затем они сопоставят свои CRM со своими полями в этом приложении, чтобы они могли импортировать свои данные.

Я думаю о создании таких таблиц, как'field_sets (has_many fields)', 'fields', 'field_values' и т. д. *

Кажется, это было бы довольно распространенным, поэтому я подумал, что сначала спрошу мнения и / или существующие примеры.1007 *

1 Ответ

0 голосов
/ 14 декабря 2011

Здесь вам могут помочь некоторые современные базы данных без схемы.Мой любимый MongoDB .Короче говоря: вы берете любые данные и наполняете их документом.Не нужно много думать.

Если, однако, вы находитесь в реляционной земле, EAV - это один из классических подходов.

Я также видел, как люди делают такие вещи:

  • предопределите некоторые "необязательные" поля в схеме и используйте их при необходимости.
  • сериализуйте эти необязательные данные в строку (используя, например, JSON) и запишите их в текстовый блоб.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...