PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Existe alguma maneira de executar a tarefa Flyway excluindo algumas tabelas?


Eu tive esse problema para o ambiente de teste e queria excluir o esquema pelo flyway. Eu consertei manipulando a sequência do feijão de mola do flyway. Primeiro, eu larguei a extensão postgis antes de flyway.clean() e então na primeira linha de V1__init.sql add CREATE EXTENSION postgis SCHEMA public; :
@Bean
@Profile("test")
public Flyway flyway(DataSource dataSource) {
    Flyway flyway = new Flyway();
    flyway.setDataSource(dataSource);
    flyway.setLocations("classpath:db/migration");

    runSql("drop extension IF EXISTS postgis CASCADE;", dataSource);

    flyway.clean();
    flyway.migrate();

    return flyway;
}