При обогащении данными таблицу PostgreSQL, посредством файла SQL и режимом
spring.jpa.hibernate.ddl-auto=create-drop
ловлю исключение -
PSQLException.
Сущность -
Book:
@Data
@Entity
@Table(name = "books", schema = "public")
@NoArgsConstructor
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private String priceOld;
private String price;
}
Настройки -
application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=create-drop
SQL файл -
data.sql:
insert into books (title, price_old, price) values ('about animals', '$17.99', '$5.99');
Исключение -
PSQLException:
ERROR: relation "books" does not exist
Очень похоже на то, что сначала выполняется SQL, а потом создается база, отсюда и не находит таблицу.
Если база создана, то и скрипт выполняется корректно.
Случилось после миграции с H2 на PostgreSQL.
Можно ли поменять порядок выполнения (т.е создать таблицу, затем наполнить), либо есть адекватное, альтернативное решение?