2017-11-20 10 views
0

私はFlyway(flyway-play)を使用してデータベースを移行したいと考えています。'flyway-play'は、Slickが接続に問題がないデータベースを見つけたり、接続したりしません。

私はしかし、私はフライウェイがそれを動作させることはできません 全く問題、スリックでデータベースに接続するクエリを作成すると、新しいデータを挿入するなどしていません。

http://localhost:9000/@flyway/postgresエンドポイントにアクセスすると、database postgres not foundとなります。実際、http://localhost:9000/@flywayには、データベースが検出されていないことがわかります。

私は移行を準備してconf\db\migration\postgresフォルダに配置しました。

これはpostgresデータベースのための私の設定です:私はそれをテストしていませんが、フライウェイプラグインは、データベースの設定があることを期待しているようです

package database.config 

import javax.inject.{Inject, Singleton} 

import play.api.db.slick.DatabaseConfigProvider 
import play.db.NamedDatabase 
import slick.jdbc.{JdbcProfile, PostgresProfile} 

@Singleton 
final class DatabaseProvider @Inject()(@NamedDatabase("postgres") configProvider: DatabaseConfigProvider) { 
    val dbConfig = configProvider.get[PostgresProfile] 
} 

答えて

0

slick { 
    dbs { 
    postgres { 
     driver = "slick.driver.PostgresDriver$" 
     db { 
     profile = org.postgresql.Driver 
     url = "jdbc:postgresql://localhost:5432/"${db-name} 
     user = ${db-user} 
     password = ${db-password} 
     connectionPool = disabled 
     keepAliveConnection = true 
     autoCommit = false 
     } 
    } 
    } 
} 

そして、私のDatabaseProviderdb.{dbname}の下に続き、default config

あなたはこれをあなたのに加えることができます:

db.default = ${slick.dbs.postgres.db} 
db.default.driver = "org.postgresql.Driver" 
1

@vdebergue正しい方向を指してくれてありがとう、私はそれを働かせました。

私はconf\db\migration\defaultフォルダに私の私の移行を移動し、それは次のようになりますので、application.conf少し微調整:

db { 
    default = ${slick.dbs.postgres.db} 
    default.migration.locations=["common","postgres"] 
} 

slick { 
    dbs { 
    postgres { 
     driver = "slick.driver.PostgresDriver$" 
     db { 
     profile = org.postgresql.Driver 
     driver = ${slick.dbs.postgres.db.profile} // required for Flyway 
     url = "jdbc:postgresql://localhost:5432/"${db-name} 
     user = ${db-user} 
     password = ${db-password} 
     connectionPool = disabled 
     keepAliveConnection = true 
     autoCommit = false 
     } 
    } 
    } 
} 
関連する問題