描述:
你好。我正在为我的应用程序使用Play framework
and 。所以我设计了 CI_Pipelines并在我的.When我们设置了这样的光滑配置:Slick
PostgreSQL
application.conf
play.evolutions.db.default {
enabled = true
autoApply=true
}
slick.dbs.default {
driver="slick.driver.PostgresDriver$"
db {
driver=org.postgresql.Driver
dbName=dbName
url="jdbc:postgresql://127.0.0.1/dbName"
user=***
password=***
}
}
并在代码(dao 文件)中:
@Singleton
class UserDao @Inject()(
protected val dbConfigProvider: DatabaseConfigProvider
)(implicit val ex: ExecutionContext) extends HasDatabaseConfigProvider[JdbcProfile] {
import driver.api._
val userTableQuery = TableQuery[UserTable]
一切正常都写如为EVOLUTION
我们play
提供的那样。
但是,如果您想设置其他环境,例如,staging
否则production
您将失败:D。
我阅读了Slick
您可以从此处阅读的文档,非常适合编写成功的配置文件。所以我这样写:
com.my.org {
env = "development"
env = ${?MY_ENV}
development {
db {
dataSourceClass = "slick.jdbc.DatabaseUrlDataSource"
properties = {
driver = "slick.driver.PostgresDriver$"
user = "myuser"
password = "*****"
url = "jdbc:postgresql://myIP/dbName"
}
numThreads = 10
}
}
staging {
db {
ip=186.14.*.*
...
}
}
production {
db {
ip=196.82.*.*
...
}
}
}
** 您必须注意的重要一点是,我PostgreSQL
在我的(docker 容器)之外,所以我必须远程连接到它。
在代码中我们有:
class UserDao @Inject()(
)(implicit val ex: ExecutionContext) {
import driver.api._
val db = Database.forConfig(s"$prefix.db")
val userTableQuery = TableQuery[UserTable]
问题:
问题是现在玩进化不适用。
问题:
我需要知道如何实现其中之一(以解决我的问题):
- 如何以之前描述的这种方式应用游戏进化(在问题部分)?
- 如何以更好的方式设置我的环境?