我正在使用Scala 2.10.0,Play Framework 2.1.0,TypeSafe Slick 1.0.1和play-slick 0.3.2。
我创建了一组按预期工作的Slick实体。我想在Global.scala中添加一些逻辑,通过覆盖onStart在启动时创建一组基本的数据库记录。
我正在使用我在网上找到的这样的例子:
def forInsert = name ~ description ~ viewDesc ~ skinDesc <>({ t => PackageDescription(None, t._1, t._2, t._3, t._4)}, { (pd: PackageDescription) => Some((pd.name, pd.description, pd.viewDesc , pd.skinDesc ))})
在Global.scala中,我这样调用它:
override def onStart(app: Application) {
DB.withSession {
implicit session => {
val packageDescId = PackageDescriptions.forInsert returning PackageDescription.id insert PackageDescription(None, "foo", "bar", "baz", "quux")
}
}
当我在Global.scala中执行此操作时,'returns'和'insert'不会被解析为符号。这在别处工作得很好。我已经确认我在两个地方都有相同的进口货物。
我假设在应用程序的这一点上没有初始化某些东西,或者这个假设是假的?如果是真的,无论如何都要初始化我需要的东西?否则,有办法做我想做的事吗?
我刚刚开始使用Scala和Play,因此我可能缺乏一些基本的理解。