ОПИСАНИЕ:
Привет. Я использую Play framework
и Slick
и PostgreSQL
для своего приложения. Поэтому я проектирую CI_Pipelines и настраиваю их в моем 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=***
}
}
и в кодах (дао-файлы):
@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
находится вне моего (док-контейнера), поэтому я должен подключиться к нему удаленно.
и в коде мы имеем:
class UserDao @Inject()(
)(implicit val ex: ExecutionContext) {
import driver.api._
val db = Database.forConfig(s"$prefix.db")
val userTableQuery = TableQuery[UserTable]
ПРОБЛЕМА:
Проблема теперь в эволюции игры не применяется.
ВОПРОС:
Мне нужно знать, как реализовать одно из них (чтобы решить мои проблемы):
- как применить игровую эволюцию, как описано выше (в проблемной части)?
- как лучше настроить окружение?