我決定在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。