Ошибка SQL не удалось создать базу данных H2 с помощью тестов Cucumber в Spring Boot App - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь создать базу данных H2 в моем проекте Spring Boot, когда я запускаю тест на огурец.

У меня есть это в моем application.yml :

booking:
  datasource:
    username: sa
    password:
    url: jdbc:h2:mem:bookingdb;DATABASE_TO_UPPER=false;DB_CLOSE_DELAY=-1
    driver-class-name: org.h2.Driver

Мой тест на огурец хранится в моей папке Огурец в папке src / acceptTest / java . А указанный ниже файл data.sql хранится в папке src / acceptTest / resources :

CREATE TABLE tlink (
  link_id int,
  ext_id varchar(255),
  address_id varchar(255),
  client_id varchar(255),
  instance varchar(255),
  source varchar(255),
  timestamp datetime2
);

INSERT INTO TLINK(link_id, ext_id, address_id, client_id, instance, source, timestamp) VALUES(13582,'0000059811','3037260','0000059811','1','1', '2018-08-22 15:13:34');

Когда я запускаю класс runner, тесты выполняются, но база данных не создается.

Ниже приведены некоторые из журналов:

Вызвано: org.hibernate.exception.SQLGrammarException: не удалось подготовить оператор

Причина: org.h2.jdbc.JdbcSQLException: Таблица "tclientlink" не найдена; Оператор SQL:

Инструкция CREATE в data.sql, похоже, не воспринимается в моем коде. Почему это могло произойти?

1 Ответ

0 голосов
/ 15 сентября 2018

В вашем сообщении говорится, что у вас нет подключения к вашей базе данных.Сначала вам нужно установить в application.proprties соединение с вашим сервером, например, localhost / server, а затем, когда у вас будет соединение, таблица будет сопоставлена ​​вашему классу с аннотацией @Entity.Аннотация @Entity состоит в том, что все данные будут сопоставлены с этим объектом и всем, что вы получите от этого класса Entity.Но вам нужно сначала создать соединение с сервером.

Проверьте эту ссылку, чтобы создать соединение с H2 мыслительные приложения. Свойства

https://dzone.com/articles/integrate-h2-database-in-your-spring-boot-applicat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...