技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Playframework2.2 から scala activerecord を使う

Scala ActiveRecord

まずは build.sbt でプラグインを指定Playframework2.2 でまだフォームインテグレーションは試してないけど、O/R として使う分には問題なかったのでメモ。

libraryDependencies ++= Seq(
  "com.github.aselab" %% "scala-activerecord" % "0.2.3",
  "com.github.aselab" %% "scala-activerecord-play2" % "0.2.3",
  jdbc,
  anorm,
  cache,
  "org.webjars" %% "webjars-play" % "2.2.0",
  "org.webjars" % "bootstrap" % "3.0.1",
  "org.webjars" % "knockout" % "3.0.0",
  "com.h2database" % "h2" % "1.3.173"
)

お次はデータベース設定

db.activerecord.driver="org.h2.Driver"
db.activerecord.url="jdbc:h2:test"
db.activerecord.user="sa"
db.activerecord.password=""

activerecord.schema="models.Tables"

db.default.* は読み込まれないので注意

そしたらテーブル作るだけ

package models

import com.github.aselab.activerecord._
import com.github.aselab.activerecord.dsl._

case class Account(uid:String, provider:String, name:String) extends ActiveRecord

object Account extends ActiveRecordCompanion[Account]

object Tables extends ActiveRecordTables with PlaySupport {
  val accounts = table[Account]
}

使い方は このへん 見ればOK。