読者です 読者をやめる 読者になる 読者になる

Play! 2.0 RC1 で console から DB にアクセス

Blog in a Nutshell: Play 2.0 の interactive console から DB アクセス

これ、いいですね!
RC1 だと、メモリデータベースのバグ?も直っている感じ。
いちいちコマンドを打ち込むのが面倒くさいので、
project/Build.scala に以下のように書くことで、
console 立ち上げて appStart と打ち込むと
evolution して アプリケーション起動する状態になるものを作ってみた。
(ただのsbtの知識ですが…)

  val main = PlayProject(appName, appVersion, 
    appDependencies, mainLang = SCALA).settings(
    // Add your own project settings here     
    initialCommands in console := {
      """
      import play.api.Application
      import play.api.Play
      import play.api.db.evolutions.OfflineEvolutions
      import play.api.Mode
      val appBase = new java.io.File(".")
      lazy val classLoader = 
        Thread.currentThread.getContextClassLoader
      lazy val evolution = 
        OfflineEvolutions.applyScript(appBase, 
          classLoader, "default")
      lazy val application = 
        new Application(appBase, classLoader, None, Mode.Dev)
      def appStart { evolution; Play.start(application) }
      """      
    }
  )