在Slick 3.0中有一种方法可以在不使用特定JDBC驱动程序的情况下声明表

时间:2016-07-09 09:25:25

标签: scala slick slick-3.0

在光滑的2.0中,可以使用这样的东西:

import driver.simple._

此处也有人问:In Slick is there a way to declar Tables without using a Specific JDBC Driver

然而,这似乎不再适用于Slick 3.0。在他们的升级指南中有:

  

不推荐使用JdbcDriver对象。你应该总是使用   数据库系统的正确驱动程序。    〜http://slick.lightbend.com/doc/3.0.0/upgrade.html

但是我仍然需要能够在Postgress驱动程序和H2之间切换。有什么我能做的吗? 例如,可以将import-config放在一个地方(针对特定驱动程序)和其他地方的泛型导入。当我需要切换dbs时,我只需在一个地方更改导入。由于驱动程序切换可能会发生编译错误,但它很好。但我不想去每个与司机相关的课程,每次想要切换数据库时都要更改导入..

1 个答案:

答案 0 :(得分:3)

当然,通常的模式是这样的。

object DriverRepository{
val defaultDriver: DatabaseConfig[JdbcProfile] = DatabaseConfig.forConfig("slick.dbs.default")
}

您可以在一个地方对您要使用的驱动程序类型进行唯一引用。

然后你只需要:

import DriverRepository.defaultDriver.driver.api._

访问所有方法