如何让datamapper与postgresql数据库一起使用?

时间:2012-03-29 11:31:47

标签: ruby-on-rails ruby database postgresql datamapper

我找到了几个使用datamapper的例子,并且能够让它们运行起来。所有这些示例都是针对sqlite数据库的。我正在尝试将datamapper与postgresql一起使用。

我将datamapper中的调用从sqlite3更改为postgres,我已经安装了dm-postgres-adapter。但它仍然无效。

我还需要做什么?

2 个答案:

答案 0 :(得分: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:password@hostname/database')

答案 1 :(得分:2)

另一个很好的连接字符串,适用于Heroku:

DataMapper.setup(:default, ENV['DATABASE_URL'] || "postgres://user:password@localhost/[YOUR_DATABASE_NAME]")

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

但是我还没有看到任何东西,但DataMapper会像Sqlite一样创建Postgresql数据库