Я пишу приемочные тесты с Cucumber, и я хочу использовать базу данных H2 для тестов.
Приложение-test.properties выглядит так:
server.port:8090
spring.jpa.database=H2
spring.database.driverClassName=org.h2.Driver
spring.datasource.url:jdbc:h2:mem:database_user;DB_CLOSE_ON_EXIT=FALSE
flyway.locations=classpath:resources/db/migration
flyway.enabled=true
spring.datasource.username:SA
spring.datasource.password:
spring.h2.console.enabled=true
spring.jpa.show-sql=true
security.basic.enabled:false
spring.application.name=userService
В каталоге ресурсов / db /igration у меня есть файл sql со следующими сценариями:
create table user_image(
id int unsigned not null AUTO_INCREMENT,
url varchar(1000) not null,
s3_key varchar(200) not null,
PRIMARY KEY (id)
);
create table user (
id int unsigned not null AUTO_INCREMENT,
email varchar(50) not null,
password varchar(100) not null,
first_name varchar(50) not null,
last_name varchar(50) not null,
description varchar(50),
phone_number varchar(50),
user_image_id int unsigned,
need_refresh_pass boolean not null,
PRIMARY KEY (id),
CONSTRAINT fk_user_image FOREIGN KEY (user_image_id)
REFERENCES user_image(id)
);
Но когда я запускаю тесты, H2 создает схему с форматом по умолчанию вместо использования сценариев:
Как видите, все VARCHAR создаются с размером 255, а не с реальным значением.
Не могли бы вы помочь мне интегрировать пролетный путь с H2?
Спасибо!