我找到了几个使用datamapper的例子,并成功运行了它们。不过所有这些例子都是针对sqlite数据库的。我尝试着使用datamapper来连接postgresql。
我将datamapper中的调用从sqlite3改为了postgres,并且已经安装了dm-postgres-adapter,但仍无法正常工作。
我还需要做什么?
我找到了几个使用datamapper的例子,并成功运行了它们。不过所有这些例子都是针对sqlite数据库的。我尝试着使用datamapper来连接postgresql。
我将datamapper中的调用从sqlite3改为了postgres,并且已经安装了dm-postgres-adapter,但仍无法正常工作。
我还需要做什么?
与SQLite不同,PostgreSQL并非将数据库存储在单个文件中。
在创建了你的数据库之后,可以尝试以下操作:
DataMapper.setup :default, {
:adapter => 'postgres',
:host => 'localhost',
:database => 'your-database-name',
:user => 'postgres',
}
:password
。您还可以使用简短形式:DataMapper.setup(:default, 'postgres://user:password@hostname/database')
另一个适用于Heroku的好的连接字符串:
DataMapper.setup(:default, ENV['DATABASE_URL'] || "postgres://user:password@localhost/[YOUR_DATABASE_NAME]")
来源:http://postgresapp.com/documentation
然而,我还没有看到DataMapper会像Sqlite一样创建Postgresql数据库的任何内容。