Я смущен ошибками, которые возникают при попытке создать в памяти H2 DB для моего приложения Spring Boot. Соответствующая конфигурацияНужно ли создавать таблицу, которую я хочу предварительно заполнить с помощью H2?
db.url=jdbc:h2:mem:test;MODE=MySQL;DB_CLOSE_DELAY=-1;INIT=runscript from 'classpath:create.sql'
hibernate.hbm2ddl.auto=create
И create.sql
:
CREATE TABLE `cities` (
`name` varchar(45) NOT NULL,
PRIMARY KEY (`name`)
) ;
INSERT INTO `cities` VALUES ('JAEN'),('ALBACETE');
Но я получаю ошибку Caused by: org.h2.jdbc.JdbcSQLException: Table "CITIES" already exists;
Weird, если я удалить CREATE TABLE
заявление, я получаю:
Caused by: org.h2.jdbc.JdbcSQLException: Table "CITIES" not found;
Единственное, что работает, это использовать DROP TABLE IF EXISTS
, но я не думаю, что мне нужно.
Что происходит? Каков правильный способ предварительного заполнения статических данных в БД памяти H2?