我找到了几个使用datamapper的例子,并且能够让它们运行起来。所有这些示例都是针对sqlite数据库的。我正在尝试将datamapper与postgresql一起使用。
我将datamapper中的调用从sqlite3更改为postgres,我已经安装了dm-postgres-adapter。但它仍然无效。
我还需要做什么?
答案 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数据库