Rails の経験はありますが、Scala/Play は初めてです。私は単純な Play アプリケーションを構築しています。当然、Web UI が組み込まれています。
必要なものの 1 つは、単純な管理 CLI ツールです。ユーザー名のインポートなどのさまざまなタスクを実行するには、実稼働環境で実行できる必要があります。これは、コードが Play アプリケーション スタックのほとんどを利用できるという意味で、Rails Rake に似たものになります。Play アプリで定義されたデータベースを使用する機能が必要です。
カスタム sbt タスクを作成しようとしましたが、ランタイム プレイ アプリケーションにアクセスできません。
元。Build.scala
val sample_tsk = TaskKey[Unit]("sample_tsk", "Prints 'Hello World'")
val sampleTask = sample_tsk := {
println("Hello World2")
// this doesn't work.
import play.api.db._
import play.api.Play.current
println("About to get connection...")
val conn = DB.getConnection()
}
このような手法を使用してデータベースにアクセスすることはできません。それは、sbt ツールが play アプリケーションについて本当に知らないからだと思います。
私を正しい方向に向けることができますか?