Подключение базы данных PlaySlick к PostgreSQL

Я только начал работать с Play Framework в Scala для школьного проекта, поэтому пока мало что знаю о Framework. Я пытаюсь подключить свой проект к PostgreSql, используя slick, но он не работает. Я сделал то же самое, что нашел на веб-сайте Play и во многих учебниках, но это не работает.

Это моя конфигурация БД в файле application.conf

  slick.dbs.default.driver="slick.driver.PostgresDriver$"
  slick.dbs.default.db.driver="org.postgresql.Driver"
  slick.dbs.default.db.url="jdbc:postgresql://localhost:5432/IRProject"
  slick.dbs.default.db.user="<my_username>"
  slick.dbs.default.db.password="<my_password>"

1.sql файл в conf/evolutions/default

# --- !Ups

CREATE TABLE Document(
  id SERIAL PRIMARY KEY NOT NULL,
  title VARCHAR(500),
  date TIMESTAMP WITH TIME ZONE,
  url VARCHAR(1000) NOT NULL ,
  path VARCHAR(1000) NOT NULL ,
  summary VARCHAR(5000) NOT NULL

);


# --- !Downs

DROP TABLE IF EXISTS Document;

Мои зависимости:

  "org.webjars" % "jquery" % "2.1.3",
  "com.typesafe.play" %% "play-slick" % "1.1.1",
  "com.typesafe.play" %% "play-slick-evolutions" % "1.1.1",
  "postgresql" % "postgresql" % "9.1-901.jdbc4"

Когда я запускаю с помощью активатора, я не вижу никаких журналов о подключении к БД или вообще каких-либо ошибок. Приложение только запускается, но без каких-либо таблиц в базе данных.

Кто-нибудь знает причину этого?


person Ken4scholars    schedule 14.11.2016    source источник


Ответы (1)


Если кто-то столкнется с этой проблемой, вот решения, которые я нашел.

  • Я поместил гладкую конфигурацию базы данных в блок db{} внутри файла конфигурации, но это неправильно, он должен быть снаружи, непосредственно внутри файла конфигурации.
  • Мне нужно было добавить тестовый запрос, который можно использовать для проверки соединения, например

    slick.dbs.default.db.connectionTestQuery="ВЫБЕРИТЕ ИСТИНА"

После этого заработало.

person Ken4scholars    schedule 14.11.2016