PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Existe-t-il un moyen d'exécuter la tâche Flyway en excluant certaines tables ?

J'ai eu ce problème pour l'environnement de test et je voulais supprimer le schéma par voie de migration. Je l'ai corrigé en manipulant la séquence de haricots printaniers de la voie de migration. Tout d'abord, j'ai abandonné l'extension postgis avant flyway.clean() puis à la première ligne de V1__init.sql ajouter 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;
}