【发布时间】:2018-05-04 02:35:48
【问题描述】:
我想使用 Flyway (flyway-play) 进行 db 迁移。
我在使用 Slick 连接数据库、进行查询和插入新数据等方面完全没有问题。 但是,我无法让 Flyway 使用它。
当我访问http://localhost:9000/@flyway/postgres 端点时,我得到database postgres not found。实际上在http://localhost:9000/@flyway 上我可以看到没有检测到数据库。
我已经准备好迁移并将它们放在conf\db\migration\postgres 文件夹中。
这是我对postgres 数据库的配置:
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
}
}
}
}
还有我的DatabaseProvider:
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]
}
【问题讨论】:
标签: scala playframework database-migration slick flyway