2012-03-29 54 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的地方

相關問題