我决定用Ruby编写一个小程序来处理我不起眼的财务跟踪需求。它基本上是一个分类帐,一个跟踪收入和支出以及进行各种数据聚合的程序。我对命令行非常熟悉,这就是为什么我决定把东西放在那里,而不是让它成为一个图形应用程序。
所以这就是问题:我应该使用什么样的后端进行数据存储?我考虑过sqlite,但我愿意接受建议。如果我最终应该使用SQL数据库,我应该考虑使用ORM吗?
答案 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和续集。