处理Ruby命令行应用程序中的数据存储

时间:2012-07-06 00:00:38

标签: ruby database command-line

我决定用Ruby编写一个小程序来处理我不起眼的财务跟踪需求。它基本上是一个分类帐,一个跟踪收入和支出以及进行各种数据聚合的程序。我对命令行非常熟悉,这就是为什么我决定把东西放在那里,而不是让它成为一个图形应用程序。

所以这就是问题:我应该使用什么样的后端进行数据存储?我考虑过sqlite,但我愿意接受建议。如果我最终应该使用SQL数据库,我应该考虑使用ORM吗?

2 个答案:

答案 0 :(得分:5)

SQLite可以很好 - 如果您需要能够回滚到以前的状态,它可以从命令行轻松使用,易于备份,并且易于版本化。 / p>

有一个很好的ORM叫做续集,我非常喜欢做非Rails的东西:http://sequel.rubyforge.org/

答案 1 :(得分: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-Editor。

如果你想修改你的程序中的数据并存储结果,我建议 - 像本杰明 - SQLITE和续集。