2012-03-29 136 views
5

我发现了几个使用datamapper的例子,并能够让他们工作。所有这些例子都是针对sqlite数据库的。我试图用postgresql使用datamapper。如何让datamapper与postgresql数据库一起工作?

我将datamapper中的调用从sqlite3更改为postgres,并且我已经安装了dm-postgres-adapter。但它仍然不起作用。

我还需要做什么?

+0

你可以笑w我们你的配置部分为postgres数据库? – 2012-03-29 12:31:29

+0

我刚刚更改了sqlite3,所以它看起来像这样DataMapper.setup(:default,“postgres://#{Dir.pwd} /database.pg”) – 2012-03-29 13:06:07

回答

8

与SQLite不同,PostgreSQL不会而是将数据库存储在单个文件中。

之后,你有created your database,尝试这样的事情:

DataMapper.setup :default, { 
    :adapter => 'postgres', 
    :host  => 'localhost', 
    :database => 'your-database-name', 
    :user  => 'postgres', 
} 

根据您的PostgreSQL的配置,您可能需要连接为不同的用户和/或供应:password为好。

您也可以使用简写形式:

DataMapper.setup(:default, 'postgres://user:[email protected]/database') 
2

另一个不错的连接字符串,将与Heroku的工作:

DataMapper.setup(:default, ENV['DATABASE_URL'] || "postgres://user:[email protected]/[YOUR_DATABASE_NAME]") 

来源:http://postgresapp.com/documentation

不过我没见过什么,但是,DataMapper将创建Postgresql数据库像Sqlite的地方

相关问题