适用于Play Framework中不同环境的Slick DB驱动程序

时间:2015-05-20 09:57:58

标签: playframework slick

我有一些数据要保留在数据库中。我发现我会使用Postgres来满足我的持久性需求。但是,我想使用更轻量级的H2数据库进行测试。我将以下定义为我的映射:

import slick.lifted.Tag
//import slick.driver.PostgresDriver.api._
import slick.driver.H2Driver.api._

class MyRepo(tag: Tag) extends Table[(Int, String)](tag, "MyRepo") {

  def id = column[Int]("id", O.PrimaryKey)
  def name = column[String]("name")

  def * = (id, name)
}

从上面的导入中可以看出,我如何映射一次使用H2数据库,一次使用Postgres?我可以在Play框架的application.conf中配置不同的驱动程序和数据源,并为不同的环境获取适当的配置,但是如何为Postgres使用一次MyRepo类,为H2使用一次?

以下是我在application.conf中的内容:

myDbConf {
  url = "jdbc:postgresql://localhost:5432/test"
  dataSourceClass = "org.postgresql.ds.PGSimpleDataSource"
  properties = {
    databaseName = "mydb"
    user = "myuser"
    password = "secret"
  }
  numThreads = 10
}

我在做:

Database.forConfig("myDbConf", config)

获取对底层数据库的引用!

0 个答案:

没有答案