我需要做什么才能让DataMapper拥有一个持久的sqlite数据库?

时间:2011-01-19 16:45:09

标签: ruby sqlite orm sinatra datamapper

以下是我用来创建数据库的内容:

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

   class Model1

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

   DataMapper.auto_upgrade!

我和Sinatra一起使用它。在脚本运行时一切正常,我可以正常使用我的对象。但是,我在磁盘上看不到文件my.db,每次重新启动应用程序时,我都是从头开始,没有任何对象。

我做错了什么?

2 个答案:

答案 0 :(得分:3)

尝试将完整路径放在那里(注意有3个正斜杠):

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

然后,您应该在my.db

下看到/path/to/my/database/

答案 1 :(得分:0)

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

DataMapper.finalize
DataMapper.auto_upgrade!

另见docs.