Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Scala Slick implizite Konvertierung mehrerer Typen in roher SQL-Abfrage

Ich war nicht in der Lage, eine Lösung für das Problem der impliziten Konvertierung zu finden, aber ich habe eine Problemumgehung unter Verwendung einer traditionelleren Slick-Syntax mit scala.util.Random.shuffle gefunden :

def randomByBlahAndDate(blah: Blah, newerThan: LocalDate)(implicit s: Session): Option[Photo] = {
  val photos = Query(Photos).where(_.imgDate > newerThan).where(_.blah === blah).run
  val r = new scala.util.Random(scala.compat.Platform.currentTime)
  r.shuffle(photos).headOption
}

Ich bin mir über die Effizienz im Vergleich zur Verwendung von rand() von MySQL nicht sicher , aber das wird vorerst funktionieren.