我决定在Ruby中编写一个小程序来处理我不起眼的财务跟踪需求。它基本上是一个分类账,一个跟踪收入和支出以及进行各种数据汇总的程序。在命令行中我非常自在,这就是为什么我决定保留这些东西,而不是将它变成图形应用程序。在Ruby命令行应用程序中处理数据存储
所以,这里有一个问题:我应该用什么样的后端来存储数据?我已经考虑过sqlite,但我愿意接受建议。如果我最终应该使用SQL数据库,我应该考虑使用ORM吗?
我决定在Ruby中编写一个小程序来处理我不起眼的财务跟踪需求。它基本上是一个分类账,一个跟踪收入和支出以及进行各种数据汇总的程序。在命令行中我非常自在,这就是为什么我决定保留这些东西,而不是将它变成图形应用程序。在Ruby命令行应用程序中处理数据存储
所以,这里有一个问题:我应该用什么样的后端来存储数据?我已经考虑过sqlite,但我愿意接受建议。如果我最终应该使用SQL数据库,我应该考虑使用ORM吗?
SQLite可能会很好 - 如果您需要能够回滚到以前的状态,它很容易从命令行使用,易于备份和易于版本化。
有一个不错的ORM称为续集,做非Rails的东西时,我真的很喜欢:http://sequel.rubyforge.org/
多少数据,你呢?他们经常改变吗?
对于短的数据序列,我经常将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。