TypeSafe Slick 1.0.1 - AutoInc并返回插入的id

时间:2013-06-17 01:57:33

标签: scala playframework slick

我正在使用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,因此我可能缺乏一些基本的理解。

0 个答案:

没有答案