2012-03-29 11 views
5

Ho trovato diversi esempi utilizzando il datamapper e sono riuscito a farli funzionare. Tutti questi esempi sono comunque per un database SQLite. Sto cercando di usare datamapper con postgresql.Come far funzionare il datamapper con un database postgresql?

Ho cambiato la chiamata in datamapper da sqlite3 a postgres e ho già installato dm-postgres-adapter. Ma ancora non funziona.

Cos'altro devo fare?

+0

Puoi scattare w us la tua sezione di configurazione per postgres db? –

+0

Ho appena cambiato sqlite3 in modo che sembri questo DataMapper.setup (: default, "postgres: // # {Dir.pwd} /database.pg") –

risposta

8

A differenza di SQLite, PostgreSQL fa non archivia i database in file singoli.

Dopo aver created your database, provare qualcosa di simile:

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

A seconda della configurazione di PostgreSQL, potrebbe essere necessario il collegamento come un altro utente, e/o la fornitura di un :password pure.

È inoltre possibile utilizzare il formato breve:

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

Un'altra stringa di connessione bello, che lavorerà con Heroku:

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

fonte: http://postgresapp.com/documentation

Tuttavia non ho visto qualsiasi cosa, ancora, dove DataMapper creerà il database Postgresql come Sqlite