Настройка соединения Postgresql с Play 2 и Slick-Play
Я изучаю, как создать приложение с помощью Scala и Play 2 Framemork. Я создал новый проект с использованием инструмента активатора на основе текущего шаблона play-scala -intro.
В шаблоне есть пример приложения, использующего Play-Slick 1.0 для управления зависимостями и настроенный с помощью H2 DB, который работал без проблем.
Когда я попытался перейти к DB Postgres, у меня проблемы. Я получаю ошибку 500, говоря мне:
"Невозможно подключиться к базе данных [по умолчанию]".
В трассировке стека исключение:
"Конфигурированный драйвер Slick org.postgresql.Driver не является экземпляром запрошенный профиль slick.profile.BasicProfile"
Итак... Что я уже сделал:
Я добавил в свой файл build.sbt зависимость:
"org.postgresql" % "postgresql" % "9.4-1201-jdbc41"
В моем файле конфигурации (application.conf) соединение с БД настроено как:
slick.dbs.default.driver = org.postgresql.Driver slick.dbs.default.db.url = "JDBC: PostgreSQL://локальный: 5432/hello_play" slick.dbs.default.db.user = "postgres" slick.dbs.default.db.password = ""
PS: Я пробовал с slick.dbs.default.driver = "org.postgresql.Driver" тоже...
PS2: мой пароль db пуст. Я без проблем связываюсь с PgAdmin
Ответы
Ответ 1
slick.dbs.default.driver
должен быть гладким драйвером, а не драйвером JDBC. Ваша конфигурация db должна выглядеть примерно так:
slick.dbs.default.driver="slick.driver.PostgresDriver$"
slick.dbs.default.db.driver="org.postgresql.Driver"
slick.dbs.default.db.url="jdbc:postgresql://localhost:5432/hello_play"
slick.dbs.default.db.user="postgres"
slick.dbs.default.db.password=""