2

Typesafe Config をデータベース接続構成として使用して、Slick 3.0.0-RC1のドキュメントに従いました。ここに私のconfがあります:

database = {
  driver = "org.postgresql.Driver"
  url = "jdbc:postgresql://localhost:5432/postgre"
  user = "postgre"
}

次のようにファイルLocale.scalaを作成しました。

package models

import slick.driver.PostgresDriver.api._
import scala.concurrent.Future

case class Locale(id: String, name: String)

class Locales(tag: Tag) extends Table[Locale](tag, "LOCALES") {
  def id = column[String]("ID", O.PrimaryKey)
  def name = column[String]("NAME")

  def * = (id, name) <> (Locale.tupled, Locale.unapply)
}

object Locales {
  private val locales = TableQuery[Locales]

  val db = Database.forConfig("database")

  def count: Future[Int] =
    try db.run(locales.length.result)
    finally db.close
}

次に、いつ、どこでデータベースオブジェクトを作成するのが適切なのか混乱しました

val db = Database.forConfig("database")

このように作成するdbと、モデルと同じ数のデータベース オブジェクトが作成されます。では、この作業を行うためのベストプラクティスは何ですか?

4

1 に答える 1