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

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

Тимофей, спасибо за совет, но мне кажется 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

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

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