Это очень очень очень расстраивает. Я уже некоторое время пытаюсь подобрать Слика, но препятствия продолжают появляться. Концепция Slick действительно потрясающая, но ее очень сложно освоить, и, в отличие от Scala, у нее нет стилей «начинающий», «средний» и «продвинутый», где ее могут легко использовать люди на всех этапах.
Я использую Play-Slick (Slick 2.0.0) https://github.com/freekh/play-slick, следуя примеру торта Multi-DB: https://github.com/freekh/play-slick/tree/master/samples/play-slick-cake-sample/app
По какой-то причине, во-первых, ddl
не принадлежит TableQuery
, в отличие от утверждения в документе: "Метод ddl TableQuery создает DDL". Это видно через scaladoc: http://slick.typesafe.com/doc/2.0.0/api/#scala.slick.lifted.TableQuery Там нет метода ddl
.
Во-вторых, мой slick.lifted.Query
не может сгенерировать метод delete
. Он отлично работает с list
, но не с delete
.
val S3Files = TableQuery[S3Files]
S3Files.where(_.url === url).delete
Это не сработает... тогда я попробовал:
val query = (for(s <- S3Files if s.url === url) yield s)
query.list //this works
query.delete //ehh?? can't find the method
val query2 = (for(s <- S3Files if s.url === url))
query2.delete //still won't work
Ну... поскольку Slick использует очень сложную (по крайней мере, для новичков) систему неявного преобразования типов, я действительно не знаю, что пошло не так.
import play.api.db.slick.Profile
- person windweller   schedule 10.03.2014