2010-10-04 6 views
2

Я работаю над приложением, в котором конечный пользователь определяет, какие столбцы должны иметь таблицы базы данных, основанные на именах столбцов в электронной таблице Excel, которые загружаются или просто вручную определяют их перед загрузкой электронной таблицы.Ruby on Rails Динамические модели

Это что-то, что AR и MySQL могут обрабатывать, или мне лучше использовать mongodb или couchdb?

Традиционным способом я бы в принципе нуждался в новой таблице каждый раз, когда пользователь загружал документ. Правильно ли я полагаю, что с помощью mongodb или couchdb я бы просто определял документ вместо таблицы?

Спасибо!

ответ

2

SQL, в общем, имеет несколько методов обработки таких динамических назначений столбцов. MongoDB определенно намного проще парадигма, под которой магазин эти данные.

Значительное ограничение здесь будет «Что вы будете делать, когда данные находятся в системе?». MongoDB имеет встроенный снимок карты, но это, очевидно, полностью отличается от SQL на основе набора.

Так, чтобы получить дополнительную помощь, вы, вероятно, хотите подробно, что происходит после того, как данные в.

0

Вы должны оформить PostgreSQL hstore. Он хранит поле ключевого значения, которое может быть проиндексировано. Существует поддержка ActiveRecord здесь https://github.com/engageis/activerecord-postgres-hstore, что позволит вам просто сохранить хэширование Ruby в этом поле.