2010-10-06 67 views
3

我想用分隔的文本文件(xml/csv等)替代Ruby on Rails中的数据库。解决方案?我可以在ROR中使用文本文件作为我的数据库吗?

(这是一类项目的要求,我宁愿使用一个数据库,如果我当初的选择。)

我没事序列化的数据并将其发送到文本文件自己。

+1

标记为功课。 – ocodo 2010-10-07 00:45:18

+0

你能否提供更多细节上的类项目,无论是你的教授/老师完全误解了Rails的目的,或者你要使用Rails的做到这一点,需要你做文件读取一个简单的Ruby项目/写入到存储简单的数据。 – ocodo 2010-10-07 00:46:47

回答

2

您是否想过使用SQLite?这是更好的解决方案。

  • 它使用单个文件。
  • 比自己做序列化要快得多。
  • 它是零配置。使用非常简单。
  • 你得到符合ACID,事务次选择等等等等
+0

人类可读的文本文件是项目的要求。 – Chris 2010-10-07 00:06:42

0

MySQL有一个方法来存储在CSV表。它有一些非常严重的限制,但它听起来像你的要求无论如何要求有一些非常严重的限制。

我从来没有建立过这样的Rails项目,我不知道它会怎样,但它似乎有可能。

HSQLDB似乎通过将数据存储在磁盘上作为创建数据库的SQL脚本工作。它记录内存和日志文件中的更改,并在关闭时再次重新创建单个SQL脚本。我自己没有使用过这个。

HSQLDB似乎不是Rails中支持的数据库之一。我不知道如何添加对新数据库的支持。

4

最好的办法可能是采取加载ActiveModel API,并建立你的方法是分析在适当的方式对文件进行。

这里有一个很好的presentation有关加载ActiveModel和ActiveRelation在那里,他建立了一个自定义模式,应该有很多类似的概念(但不同的后端。),也是一个良好的blog post由耶胡达约加载ActiveModel API

相关问题