Есть два способа сделать это:
- Сериализировать ваш хэш и сохранить его в текстовом поле.
- Разделить хэш и сохранить каждый ключ в отдельной строке.
Проблема с первым подходом заключается в том, что поиск и манипулирование трудны и дороги.Например, префикс «0» перед тем, как телефонный номер всех сотрудников, работающих в Foo Inc., станет кошмаром по сравнению с хранением данных в обычном табличном формате.
Ваша схема будет:
employees (id, created_at, updated_at)
employee_details (id, employee_id, key, value)
Итак, для хранения
"company" => "Foo Inc",
"telephone" => "555-5555"
вы должны сделать:
employees: 1, 2012-01-01, 2012-01-01
employee_details (1, 1, "company", "Foo Inc"), (2, 1, "telephone", "555-5555")
Недостатки этого подхода: Rails изначально не поддерживает такую схему.