Могу ли я использовать текстовый файл в качестве базы данных в ROR? - PullRequest
3 голосов
/ 07 октября 2010

Я хотел бы использовать текстовый файл с разделителями (xml / csv и т. Д.) В качестве замены базы данных в Ruby on Rails. Решения?

(Это требование проекта класса, я бы предпочел использовать базу данных, если бы у меня был выбор.)

Я в порядке сериализации данных и сам отправляю их в текстовый файл.

Ответы [ 3 ]

4 голосов
/ 07 октября 2010

Лучшим способом, вероятно, является использование API ActiveModel и создание методов, которые анализируют ваши файлы соответствующим образом.

Вот хорошая презентация об ActiveModel и ActiveRelation, где он создает собственную модель, в которой должно быть много схожих концепций (но с разными бэкэндами). А также хороший пост в блоге Иегуда об API ActiveModel

2 голосов
/ 07 октября 2010

Думали ли вы использовать SQLite ? Это гораздо лучшее решение.

  • Используется один файл.
  • Это намного быстрее, чем выполнять сериализацию самостоятельно.
  • Это нулевая конфигурация. Очень прост в использовании.
  • Вы получаете ACID-соответствие, транзакции выбирают и т. Д. И т. Д.
0 голосов
/ 07 октября 2010

В MySQL есть способ хранить таблицы в CSV .У него есть довольно серьезные ограничения, но, похоже, ваши требования требуют чего-то с некоторыми довольно серьезными ограничениями.

Я никогда не создавал проект Rails таким образом, и я не знаю, что для этого нужно, но кажется, что это возможно.

HSQLDB , кажется, работает, сохраняя данные на диске в виде сценария SQL, который создает вашу базу данных.Он записывает изменения в памяти и файле журнала, а когда вы выключаете его, он заново создает один сценарий SQL.Я сам этим не пользовался.

HSQLDB не является одной из поддерживаемых баз данных в Rails.Я не знаю, что нужно сделать, чтобы добавить поддержку новой базы данных.

...