2015-06-10 18 views
12

Sto imparando come creare un'applicazione utilizzando Scala e il Play 2 Framemork. Ho creato un nuovo progetto usando lo strumento attivatore, basato sul modello corrente di "play-scala-intro".Configurazione di una connessione Postgresql con Play 2 e Slick-Play

Il modello dispone di un'app di esempio che utilizza Play-Slick 1.0 per la gestione delle dipendenze ed è configurata con un DB H2, che ha funzionato senza problemi.

Quando ho provato a passare a un DB Postgres, sono in difficoltà. Ricevo un errore 500, che mi dice:

"Impossibile connettersi al database [impostazione predefinita]".

Nella traccia dello stack, l'eccezione è:

"Configurato conducente Slick org.postgresql.Driver non è un'istanza di richiesto profilo slick.profile.BasicProfile"

Quindi ... Cosa ho già fatto:

Ho aggiunto al mio file build.sbt la dipendenza:

"org.postgresql" % "PostgreSQL" % "9,4-1201-jdbc41"

Nel mio file di configurazione (application.conf), la connessione DB è configurata come:

slick.dbs.default.driver = org.postgresql.Driver slick.dbs.default.db.url = "jdbc: postgresql: // localhost: 5432/hello_play" slick.dbs.default.db.user = "postgres "slick.dbs.default.db.password =" "

PS: Ho provato anche con slick.dbs.default.driver = "org.postgresql.Driver" ...

PS2: la mia password db è vuota. Mi sto collegando con PgAdmin senza problemi

risposta

24

slick.dbs.default.driver deve essere un driver slick, non un driver JDBC. Il tuo db config dovrebbe essere simile a questo:

slick.dbs.default.driver="slick.driver.PostgresDriver$" 
slick.dbs.default.db.driver="org.postgresql.Driver" 
slick.dbs.default.db.url="jdbc:postgresql://localhost:5432/hello_play" 
slick.dbs.default.db.user="postgres" 
slick.dbs.default.db.password=""