Size: a a a

Scala User Group

2020 August 12

EB

Eugene Bosiakov in Scala User Group
Apache DOG™
Это точно официальный?
там претензия к плаю, не к слику
источник

SK

Sergey Kucherenko in Scala User Group
Dmitry Oxxzz
Пытаюсь использовать Slick в приложении на Play framework.
Я не понимаю: Slick вообще в принципе работоспособен или как? Даже в официальном примере - https://github.com/playframework/play-samples/tree/2.8.x/play-scala-slick-example - не работает. Консоль H2 database не открывается. Решил вместо H2 попробовать на PostgreSQL (он у меня в докер-контейнере). Play предлагает запустить evolution скрипт для базы (создать таблицу). Запускаю. Захожу - таблицы нет. Приложение делает вид, что всё сработало. Что вообще происходит?
да
источник

DO

Dmitry Oxxzz in Scala User Group
Спасибо. Погляжу.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
yes.
источник

AD

Apache DOG™ in Scala User Group
Алсо, плей не спринг
источник

KC

Kain Crow in Scala User Group
Apache DOG™
Алсо, плей не спринг
Спасибо.
источник

DO

Dmitry Oxxzz in Scala User Group
Kain Crow
Потому что слик это про запросы, а не про миграции и развертывание баз данных.
Мой конфиг (если комментарии удалить):

play.evolutions {
}

play.db {
 prototype {
 }
}

db {
}

slick.dbs.default.profile = "slick.jdbc.PostgresProfile$"
slick.dbs.default.db.driver = "org.postgresql.Driver"
slick.dbs.default.db.url = "jdbc:postgresql://localhost:5432/postgres"
slick.dbs.default.db.user = "postgres"
slick.dbs.default.db.password="12345"

Кто-нибудь может подсказать, чего не хватает?
источник

KC

Kain Crow in Scala User Group
Dmitry Oxxzz
Мой конфиг (если комментарии удалить):

play.evolutions {
}

play.db {
 prototype {
 }
}

db {
}

slick.dbs.default.profile = "slick.jdbc.PostgresProfile$"
slick.dbs.default.db.driver = "org.postgresql.Driver"
slick.dbs.default.db.url = "jdbc:postgresql://localhost:5432/postgres"
slick.dbs.default.db.user = "postgres"
slick.dbs.default.db.password="12345"

Кто-нибудь может подсказать, чего не хватает?
Я же говорю - например конфиг. Может и не он. Ну, заранее снимаю с себя ответственность.

Я Эволюшн не юзал, но у вас там совсем пустой параметр, может там что-то должно быть прописано, типа путей до папок миграций?
UPD а не, там плей увидел миграции судя по сообщению, отбой.
источник

SK

Sergey Kucherenko in Scala User Group
Dmitry Oxxzz
Мой конфиг (если комментарии удалить):

play.evolutions {
}

play.db {
 prototype {
 }
}

db {
}

slick.dbs.default.profile = "slick.jdbc.PostgresProfile$"
slick.dbs.default.db.driver = "org.postgresql.Driver"
slick.dbs.default.db.url = "jdbc:postgresql://localhost:5432/postgres"
slick.dbs.default.db.user = "postgres"
slick.dbs.default.db.password="12345"

Кто-нибудь может подсказать, чего не хватает?
application.conf:
logger.scala.slick=DEBUG
источник

DK

Dmitry Kiselyov in Scala User Group
одна из возможных причин:

"Play предлагает запустить evolution скрипт для базы (создать таблицу). Запускаю. Захожу - таблицы нет. Приложение делает вид, что всё сработало." - play работает в транзакции, вы из своей транзакции не видите, т.к. play свою еще не закончил. Я сталкивался с таким на wildfly, надо было ему указывать какой режим работы с транзакциями использовать.

upd: ну т.е. вопрос в тому кто рулит транзакциями, как это делается в этом конкретном случае
источник

DO

Dmitry Oxxzz in Scala User Group
Тыкаю на ссылки, чтобы скачать пример приложения - ошибка 404
источник

AD

Apache DOG™ in Scala User Group
Dmitry Oxxzz
Тыкаю на ссылки, чтобы скачать пример приложения - ошибка 404
Почему нельзя прочитать докути написать самому?
источник

DO

Dmitry Oxxzz in Scala User Group
Apache DOG™
Почему нельзя прочитать докути написать самому?
Потому что не будет работать.
источник

AD

Apache DOG™ in Scala User Group
Dmitry Oxxzz
Потому что не будет работать.
источник

D

Deλ✨ in Scala User Group
Dmitry Oxxzz
Пытаюсь использовать Slick в приложении на Play framework.
Я не понимаю: Slick вообще в принципе работоспособен или как? Даже в официальном примере - https://github.com/playframework/play-samples/tree/2.8.x/play-scala-slick-example - не работает. Консоль H2 database не открывается. Решил вместо H2 попробовать на PostgreSQL (он у меня в докер-контейнере). Play предлагает запустить evolution скрипт для базы (создать таблицу). Запускаю. Захожу - таблицы нет. Приложение делает вид, что всё сработало. Что вообще происходит?
yes
источник

EB

Eugene Bosiakov in Scala User Group
Oleg ℕizhnik
Ну так самые успешные примеры в итоге на ООП языках
Вспомнил еще один аргумент.
В ЯП мы оперируем понятиями объектов, а в sql колонками и клеим их маппингом колонка -> поле в объекте. Но это все держится на доверии, потому что в sql мы можем выбрать произвольное количество колонок, можем заджоинить объект с объектом. В итоге мы делаем объекты Author, Book, AuthorWithBook, а если надо селектать разные наборы полей появляется SimpleBook и FatBook (а если нужно заджоинить еще и для разных наборов колонок это тушите свет).

Это я все к тому, что скл плохо ложится и на ооп.
источник

AD

Apache DOG™ in Scala User Group
Eugene Bosiakov
Вспомнил еще один аргумент.
В ЯП мы оперируем понятиями объектов, а в sql колонками и клеим их маппингом колонка -> поле в объекте. Но это все держится на доверии, потому что в sql мы можем выбрать произвольное количество колонок, можем заджоинить объект с объектом. В итоге мы делаем объекты Author, Book, AuthorWithBook, а если надо селектать разные наборы полей появляется SimpleBook и FatBook (а если нужно заджоинить еще и для разных наборов колонок это тушите свет).

Это я все к тому, что скл плохо ложится и на ооп.
Ам, дто, что находится за ним, не важно.
источник

AD

Apache DOG™ in Scala User Group
Точно так же можно сказать что тисипи плохо ложится на ФП и ООП
источник

EB

Eugene Bosiakov in Scala User Group
не знаю как ложиться тисипи, но абстракции для работы с ним топ
источник

AD

Apache DOG™ in Scala User Group
В ЯП мы оперируем объектами, а в ТСР байтиками
источник