Я использую postgrest, в скрипте sql я создал таблицу с синтаксисом schema.tablename и использовал команду alter только с синтаксисом "alter table tableName". Я использую пролетный путь. Теперь я хочу использовать H2 для модульного тестирования. Но H2 не находит таблицу, когда выполняет команду alter table. Я полагаю, что это связано с тем, что имя схемы не используется в синтаксисе изменения таблицы. Может кто-нибудь предложить решение .?
Yml файл:
h2:
console:
enabled: true
path: /h2
datasource:
url: jdbc:h2:mem:testdb1;DB_CLOSE_ON_EXIT=FALSE;MODE=PostgreSQL;INIT=CREATE SCHEMA IF NOT EXISTS test
driver-class-name: org.h2.Driver
username: sa
password: password
jpa:
generate-ddl: true
hibernate:
ddl-auto: create
properties:
hibernate:
dialect: org.hibernate.dialect.H2Dialect
show_sql: true
format_sql: true
use_sql_comments: true
SQL script: CREATE TABLE test.record (
id bigserial PRIMARY KEY,
name character varying(255) NOT NULL,
status character varying(255) NOT NULL,
id bigint references test.details(id)
);
ALTER table record ADD column t_id character varying(50);
StackTrace:
Migration of schema "PUBLIC" to version 4 - AlterRecord Table failed! Please restore backups and roll back database and code! [main] []
[org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException:
Migration V4__AlterRecord_Table.sql failed
-----------------------------------------------
SQL State : 42S02
Error Code : 42102
Message : Table "record" not found; SQL statement:
ALTER table record ADD column t_id character varying(50) [42102-197]
Location : db/migration/V4__AlterRecord_Table.sql (D:\Test\testProject\impl\target\classes\db\migration\V4__AlterRecord_Table.sql)
Line : 16
Statement : ALTER table record ADD column t_id character varying(50)
[main] []