2011-01-19 50 views
3

下面是我使用的創建數據庫的內容:我需要做什麼DataMapper有一個持久的SQLite數據庫?

DataMapper.setup(:default,"sqlite://my.db") 

    class Model1 

     property :some_prop,String 
     ... 
     property :other_prop,String 
    end 

    DataMapper.auto_upgrade! 

我與西納特拉組合使用這一點。腳本運行時一切正常,我可以正常使用我的對象。但是,我在磁盤上看不到任何文件my.db,並且每次我重新啓動應用程序時,我都從頭開始,沒有任何對象。

我在做什麼錯?

+0

你有沒有找到這些URI的規範?我的(像你的)有一個相對路徑,它不工作。我不知道這些URI被稱爲什麼。他們是一般的sqlite的東西,或特定的datamapper-sqlite的東西? – 2012-10-14 23:04:36

回答

3

嘗試把完整路徑在那裏(注意有3個正斜槓):

DataMapper.setup(:default, "sqlite:///path/to/my/database/my.db") 

那麼你應該看到my.db/path/to/my/database/

+0

這對Linux系統很好。這怎麼能適應Windows解決方案?或者我怎樣才能指定我想要使用當前目錄的路徑? – Geo 2011-01-19 18:06:49

0
DataMapper.setup(:default, "sqlite3://#{Dir.pwd}/my.db") 
# your schema 

DataMapper.finalize 
DataMapper.auto_upgrade! 

另見docs.

相關問題