我有 Rails 经验,但我是 Scala/Play 的新手。我正在构建一个简单的 Play 应用程序。它自然有一个内置的 Web UI。
我需要一个简单的管理 CLI 工具。它需要能够在生产环境中运行以执行各种任务,例如导入用户名。它类似于 Rails Rake,因为代码可以利用大部分 Play 应用程序堆栈。它需要能够使用 Play 应用程序中定义的数据库。
我尝试创建自定义 sbt 任务,但它无权访问运行时播放应用程序。
前任。构建.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 工具并不真正了解播放应用程序。
可以指出我正确的方向吗?