2012-07-06 40 views
2

我决定在Ruby中编写一个小程序来处理我不起眼的财务跟踪需求。它基本上是一个分类账,一个跟踪收入和支出以及进行各种数据汇总的程序。在命令行中我非常自在,这就是为什么我决定保留这些东西,而不是将它变成图形应用程序。在Ruby命令行应用程序中处理数据存储

所以,这里有一个问题:我应该用什么样的后端来存储数据?我已经考虑过sqlite,但我愿意接受建议。如果我最终应该使用SQL数据库,我应该考虑使用ORM吗?

回答

5

SQLite可能会很好 - 如果您需要能够回滚到以前的状态,它很容易从命令行使用,易于备份和易于版本化。

有一个不错的ORM称为续集,做非Rails的东西时,我真的很喜欢:http://sequel.rubyforge.org/

0

多少数据,你呢?他们经常改变吗?

对于短的数据序列,我经常将HERE文档与YAML结合起来。

一个例子:

require 'yaml' 

YAML.load(DATA).each{|account, data| 
    sum = 0 
    data.each{|x| sum += x } 
    puts "%s: %i" % [ account, sum ] 
} 


__END__ 
account1: 
- 1 
- 2 
- 3 
- 4 
account2: 
- 10 
- 20 
- 30 
- 40 

DATA是一个IO-对象和包含后END的内容。

这使您可以在脚本中进行数据更改,而不需要DB编辑器。

如果你想修改程序中的数据并存储结果,我推荐 - 比如Benjamin - SQLITE和Sequel。

相关问题