Генерация файла Spring JPA DDL - как удалить или очистить файл перед генерацией - PullRequest
0 голосов
/ 06 ноября 2019

Я использую эту настройку для создания файла ddl:

spring.jpa.properties.javax.persistence.schema-generation.create-source=metadata
spring.jpa.properties.javax.persistence.schema-generation.scripts.action=create
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=./ddl/schema.sql

Генерация выполняется с помощью специального теста на этапе проверки Maven:

@RunWith(SpringRunner.class)
@DataJpaTest
@AutoConfigureTestDatabase(replace = Replace.NONE)
@TestPropertySource(locations = "/ddl.properties")
public class GenerateDDL {

    @Autowired
    private EntityManager em;

    @Test
    public void generateDDL() throws IOException {
        em.close();
        em.getEntityManagerFactory().close();
    }

}

Это работает нормально,с проблемой: генератор не создает новый файл, а просто добавляет его всегда.

Есть ли способ или настройка, позволяющая генератору всегда создавать новый файл или очищать старый?

Удаление его в тесте приведет к его удалению после генерации. Нам также нужно, чтобы файл был опубликован в git, поэтому он не сгенерирован в target.

ОБНОВЛЕНИЕ Кажется, по крайней мере нет решения в Hibernate (до Hibernate 6): https://hibernate.atlassian.net/browse/HHH-11817

Есть ли способ подключиться к созданию контекста Spring - до создания контекста постоянства? Там я могу удалить файл.

...