LINUX.ORG.RU

FlyWayDB - оно вообще живое?

 , ,


0

1

Пытаюсь разобраться в сабжевой утилите.

Настроил через Maven - все работает: создаю новый файл с изменениями структуры, mvn flyway:migrate, все хорошо.

Но вот захотелось мне на работающей таким образом базе сделать проверки при запуске приложения. И тут...


    public static void makeMigration(String folder, String jdbc, String username, String pass) {
        // Create the Flyway instance
        Flyway flyway = new Flyway();


        flyway.setLocations(String.format("filesystem:%s", folder));

        // Point it to the database
        flyway.setDataSource(jdbc, username, pass);

        //flyway.setBaselineOnMigrate(true);
        // Start the migration
        flyway.migrate();
    }

Если делаю flyway.migrate();, то:

org.flywaydb.core.api.FlywayException: Found non-empty schema(s) "public" without metadata table! Use baseline() or set baselineOnMigrate to true to initialize the metadata table.

Если включаю flyway.setBaselineOnMigrate(true); или делаю flyway.baseline();, то:

org.postgresql.util.PSQLException: ОШИБКА: отношение "schema_version" уже существует

Так что ему надо?

★★★★★

Последнее исправление: bvn13 (всего исправлений: 1)

отбой. в Maven было настроено для пользователя postgres, а из кода - для пользователя. Соответственно, таблица schema_version была недоступна пользователю.

bvn13 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.