вторник, 26 июля 2011 г.

Re: Как хранить разнотипные данные?

Об этом и речь. Все зависит от того какую задачу вы решаете и как вы
хотите работать с этими полями. Для многих задач хранить так поля
вполне нормальное решение.

2011/7/26 Vladimir <egotraumatic@gmail.com>:
> Тимофей, спасибо за совет, но мне кажется value_type избыточным. Вот
> например string или text? - какая разница, если все в Ruby
> представлено в виде обычной строки. Или string и boolean, даже если я
> буду знать тип, мне все равно придется конвертировать "true" в true,
> то же и с числами.
>
>>>> Другой порос, что вы лучше опишите, а что именно вы хотите получить. То есть для чего вы
> эти атрибуты решили хранить, как вы их собираетесь использовать.
>
> А как их использование может повлиять на реализацию?
>
> Ну вот я описал случай с продуктом, еще можно привести пример -
> хранение в БД настроек сайта и т.д.
>
> On Jul 26, 10:07 pm, "Timothy N. Tsvetkov"
> <timothy.tsvet...@gmail.com> wrote:
>> Можно сделать product_attributes с полями: attribute, value,
>> value_type. И тогда вы будете знать какого оно типа. Другой порос, что
>> вы лучше опишите, а что именно вы хотите получить. То есть для чего вы
>> эти атрибуты решили хранить, как вы их собираетесь использовать.
>>
>> 2011/7/26 Vladimir <egotrauma...@gmail.com>:
>>
>>
>>
>>
>>
>>
>>
>> > Доброго времени уув. сообщество! У меня снова к вам вопрос.
>>
>> > Задача: Имеется продукт (Product) со своим набором стандартных
>> > свойств. Для продукта необходимо предусмотреть добавление уникальных
>> > для него атрибутов, для машины это - скорость, для холодильника,
>> > например объем. Суть не об STI, когда имеется тип Car < Product и для
>> > всех машин можно создать шаблон атрибутов, а о таком случае, когда
>> > (при STI Или без него) один единственные продукт может иметь
>> > собственный атрибут, которого нет у других продуктов того же типа.
>> > Таблица product_attributes с полями attribute и value не подходит,
>> > поскольку тип value может быть произвольным: строка, число, булево
>> > значение, текст  и т.д. Как можно реализоовать это? Пока на ум
>> > приходит только одно - хранить все в text, а потом числа и булевы
>> > значения определять из например из to_i и/или регулярных выражений, но
>> > этот способ мне кажется уродливым.
>>
>> > P.S. использовать документо-ориентированные БД не предлагать.
>>
>> > Благодарю за помощь!
>>
>> > --
>> > --
>> > Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
>> > FAQ группы находится по адресу:http://ru.wikibooks.org/wiki/RubyFAQ
>>
>> >  Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
>> > ror2ru@googlegroups.com
>> >  Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
>> >  Дополнительные варианты находятся на странице группыhttp://groups.google.com/group/ror2ru?hl=ru
>
> --
> --
> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>
>  Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
> ror2ru@googlegroups.com
>  Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
>  Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

Комментариев нет:

Отправить комментарий