连接到scala中的多个db

连接到scala中的多个db,scala,slick,liquibase,Scala,Slick,Liquibase,我正在做一个项目,我正在使用Hikari,Liquibase,Slick用于db相关用途 现在我想把这些表分成多个数据库。我该怎么做呢,比如如果我想查询某个东西,要知道我应该查询哪个数据库,当然要能够连接到那些数据库。如果你使用play slick,这很简单。。。在示例中,它解释了如何: 首先,必须声明多个配置: 然后在将其注入DAO时使用它: 默认值-> mydb-> 如果你不使用play slick,你可以查看官方文档。。。下面是一个如何在MYSCHEMA表中声明它的示例: 在我们的例子

我正在做一个项目,我正在使用Hikari,Liquibase,Slick用于db相关用途


现在我想把这些表分成多个数据库。我该怎么做呢,比如如果我想查询某个东西,要知道我应该查询哪个数据库,当然要能够连接到那些数据库。如果你使用play slick,这很简单。。。在示例中,它解释了如何:

首先,必须声明多个配置:

然后在将其注入DAO时使用它:

默认值->

mydb->

如果你不使用play slick,你可以查看官方文档。。。下面是一个如何在MYSCHEMA表中声明它的示例:

在我们的例子中,我们没有一个使用相同模型连接到多个数据库的示例。。。 为此,我们在开始时将其注入initialize,然后根据需要通过所选的APIKEY注入它

其他可以帮助您的东西:


也许,这个答案可以帮助我不使用Play framework。只是Akka Http。但我对你的努力投了赞成票:)
# Database configuration
# ~~~~~ 
# You can declare as many datasources as you want.
# By convention, the default datasource is named `default`
#
slick.dbs.default.profile="slick.jdbc.H2Profile$"
slick.dbs.default.db.driver="org.h2.Driver"
slick.dbs.default.db.url="jdbc:h2:mem:play"
slick.dbs.default.db.user=sa
slick.dbs.default.db.password=""

slick.dbs.mydb.profile="slick.jdbc.H2Profile$"
slick.dbs.mydb.db.driver="org.h2.Driver"
slick.dbs.mydb.db.url="jdbc:h2:mem:play"
slick.dbs.mydb.db.user=sa
slick.dbs.mydb.db.password=""
class CatDAO @Inject() (protected val dbConfigProvider: DatabaseConfigProvider)(implicit executionContext: ExecutionContext) extends HasDatabaseConfigProvider[JdbcProfile] {
  import profile.api._

  //...
}
class DogDAO @Inject() (@NamedDatabase("mydb") protected val dbConfigProvider: DatabaseConfigProvider)(implicit executionContext: ExecutionContext) extends HasDatabaseConfigProvider[JdbcProfile] {
              import profile.api._

              //...
 }
class Coffees(tag: Tag)
  extends Table[(String, Int, Double, Int, Int)](tag, Some("MYSCHEMA"), "COFFEES") {
  //...
}