我正在尝试使用此处记录的 PlaySlick 配置两个数据库。下面代码中的问题是,即使我配置了第二个数据库db2
,任何使用它的尝试都会将操作重定向到db1
(尝试在 db1 中查找表并引发 SQL 异常,说明未找到该表)。
如何使用注入在 PlaySlick 中配置两个数据库?
这是我的尝试:
class ManageUsersDAO @Inject()(
@NamedDatabase("db1") protected val dbConfigProvider: DatabaseConfigProvider,
@NamedDatabase("db2") protected val dbConfigProvider2: DatabaseConfigProvider)
extends HasDatabaseConfigProvider[JdbcProfile] {
import driver.api._
val db1 = dbConfigProvider.get[JdbcProfile].db
val db2 = dbConfigProvider2.get[JdbcProfile].db
和 application.conf 条目:
slick.dbs.db1.driver = "slick.driver.MySQLDriver$"
slick.dbs.db1.db.driver = "com.mysql.jdbc.Driver"
slick.dbs.db1.db.url = "jdbc:mysql://localhost:3306/db1"
slick.dbs.db1.db.user = "root"
slick.dbs.db1.db.password = "db1"
slick.dbs.db2.driver = "slick.driver.MySQLDriver$"
slick.dbs.db2.db.driver = "com.mysql.jdbc.Driver"
slick.dbs.db2.db.url = "jdbc:mysql://localhost:3306/db2"
slick.dbs.db2.db.user = "root"
slick.dbs.db2.db.password = "db2"