Как написать независимое от базы данных приложение Play и выполнить первоначальную инициализацию базы данных?

м используюскользкий сPlay Framework 2.1 а у меня некоторые проблемы.

Учитывая следующую сущность ...

package models

import scala.slick.driver.PostgresDriver.simple._

case class Account(id: Option[Long], email: String, password: String)

object Accounts extends Table[Account]("account") {
  def id = column[Long]("id", O.PrimaryKey, O.AutoInc)
  def email = column[String]("email")
  def password = column[String]("password")
  def * = id.? ~ email ~ password  (Account, Account.unapply _)
}

... Я должен импортировать пакет дляконкретный драйвер базы данных, но я хочу использоватьH2 затестирование а такжеPostgreSQL впроизводство, Как мне поступить?

Я смог обойти это путемпереопределение настройки драйвера в моем модульном тесте:

package test

import org.specs2.mutable._

import play.api.test._
import play.api.test.Helpers._

import scala.slick.driver.H2Driver.simple._
import Database.threadLocalSession

import models.{Accounts, Account}

class AccountSpec extends Specification {

  "An Account" should {
    "be creatable" in {
      Database.forURL("jdbc:h2:mem:test1", driver = "org.h2.Driver") withSession {
        Accounts.ddl.create                                                                                                                                          
        Accounts.insert(Account(None, "user@gmail.com", "Password"))
        val account = for (account