2011-01-19 67 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.