aselab / scala-activerecord

ActiveRecord-like ORM library for Scala

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

could not find implicit value for parameter fieldMapper: org.squeryl.internals.FieldMapper

akshaydeo opened this issue · comments

error] /home/akshay/code_base/wal/app/models/Tables.scala:5: could not find implicit value for parameter fieldMapper: org.squeryl.internals.FieldMapper
[error] object Tables extends ActiveRecordTables with PlaySupport{
[error]               ^
[error] one error found
[error] (compile:compile) Compilation failed
[error] application - 

! @6hc5fc293 - Internal server error, for (GET) [/] ->

play.PlayExceptions$CompilationException: Compilation error[could not find implicit value for parameter fieldMapper: org.squeryl.internals.FieldMapper]
    at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14$$anonfun$apply$16.apply(PlayReloader.scala:304) ~[na:na]
    at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14$$anonfun$apply$16.apply(PlayReloader.scala:304) ~[na:na]
    at scala.Option.map(Option.scala:145) ~[scala-library.jar:na]
    at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14.apply(PlayReloader.scala:304) ~[na:na]
    at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14.apply(PlayReloader.scala:298) ~[na:na]
    at scala.Option.map(Option.scala:145) ~[scala-library.jar:na]

I am getting this exception repeatedly.
My model class is like

case class User(@Required displayName: String,
                @Required @Length(max = 300) whyTropper: String,
                @Required @Unique @Email email: String,
                @Required isTermsAccepted: Boolean,
                @Required isPrivacyAccepted: Boolean,
                facebookUserId: Long,
                @Required preferredLanguage: String,
                @Required isAPrivateProfile: Boolean = false) extends ActiveRecord with Datestamps {

  @Required(on = "create")
  @Length(min = 6)
  @Transient
  var password: String = _

  var hashedPassword: String = _

  override def beforeSave() {
    if (password != null && password != "")
      hashedPassword = User.md5digest(password)
  }
}

object User extends ActiveRecordCompanion[User] {
  val md5 = java.security.MessageDigest.getInstance("MD5")

  def md5digest(str: String): String = {
    md5.digest(str.getBytes).map("%02x".format(_)).mkString
  }

  def authenticate(login: String, password: String): Option[User] = {
    this.findBy("login" -> login, "hashedPassword" -> md5digest(password))
  }
}

And I am using play 2.2.1 built with Scala 2.10.2 (running Java 1.7.0_51).

Build.sbt

import play.Project._

name := "Wal"

version := "1.0-SNAPSHOT"

// for scala -active record plugin
libraryDependencies ++= Seq(
  "com.github.aselab" %% "scala-activerecord" % "0.2.3",
  "com.github.aselab" %% "scala-activerecord-play2" % "0.2.3",
  jdbc,
  "postgresql" % "postgresql" % "9.1-901.jdbc4"
)

// for sentry appender
libraryDependencies ++= Seq(
  "net.kencochrane.raven" % "raven-logback" % "4.1.2"
)

// dependency for scala logging
libraryDependencies += "com.typesafe" %% "scalalogging-slf4j" % "1.0.1"

play.Project.playScalaSettings

Tables

package models

import com.github.aselab.activerecord.{PlaySupport, ActiveRecordTables}

object Tables extends ActiveRecordTables with PlaySupport{
  val users = table[User]
}

Sorry, it's a documentation bug.
Please insert import com.github.aselab.activerecord.dsl._ into models/Tables.scala