Я начинаю работать с гладким и Скале, и кажется, что я до сих пор не имею основу сглаживать:Slick строка Scala в базе
Я использую пятно 3.0.0 и 2.11.7 и Скала Я подключение к базе данных Oracle.
Я хочу, чтобы получить количество строк в моем столе, так что я пошел и сделал поиск и нашел следующее: 1) Это один говорит мне, что .run не существует:
mytable.length.run
2) Это один говорит мне, что есть несоответствие типов найдено: slick.lifted.Rep [Int] и ожидается строка:
var q = for(u <- mytable) yield u.id
print(q.size)
3) Это один компилируется и работает, но печатает Rep (Pure $ @ 309962262):
var q = for{row <- mytable} yield row
println(Query(q.length))
Так что я не уверен, что это потому, что я не понимаю, как это работает, но я воображал, что следующее должно произойти:
A) constructQuery б) «Выполнить» запрос.
Так другие запросы, которые я использую, являются следующие:
val db = Database.forConfig("Oracle")
try{
val f: Future[Unit] = {
val query: StreamingDBIO[Seq[String], String] = participants.map(_.id).result // A)"Construct query"
val stremQuery: DatabasePublisher[String] = db.stream(query) //B) "Run query"
streamQuery.foreach(println)
}
Await.result(f, Duration.Inf)
}
finally db.close
Что мне не хватает? номер 3 не дает мне то, что я хочу, потому что не находится под командой db.stream/db.run/db.something? Или я просто потерял =)
Заранее спасибо Тон
Благодарность за ответ, это имеет смысл. Как-то я очень сильно борюсь с документацией Slick, но это позволяет легко увидеть. –