Как стать автором
Обновить

Комментарии 12

Дефолтный коммент «почему сразу не gradle»

Дефолтный ответ «потому что не соответствует теме статьи»

а почему сразу gradle? Maven чего то не умеет?
Я постараюсь выложить примеры шаблонных проектов и с Maven и с Gradle несколько позже, если это интересно.

А почему ссылки на en-ветку хабра? Они же все русскоязычные.

Искал гуглом, получил такие ссылки… есть ли смысл менять?
Обрадовался было новым англоязычным статьям про Liquibase, а там оказались уже ранее прочтённые. Надумаете что-то дополнить, лучше заодно и ссылки поправить.

Забавно, но мне google даже при явном указании en-ветки вообще ничего не находит.
Немного странно, но это оказалось привязано к настроякам языка в аккаунте, то есть для English всегда перекидывает на en, для Russian на ru. Поменял ссылки на ru.
Как оно работает в кейсах обновления пакетов оракла?

Возможно автор предложит какой-то другой путь, у меня пакеты обновляются примерно такими ченжсетами:


<changeSet id="package" runOnChange="true">
  <sqlFile path="..\Packages\package.pck" splitStatements="true" endDelimiter="\n/" encoding="Windows-1251"/>
  <rollback/>
</changeSet>
Я в своё время разбирался, как запустить миграции Liquibase из java-кода. Для PostgreSQL, для конкретной схемы.
Если кому-нибудь интересно, то пример есть здесь.
Пример кода
...
 public static void main(String[] args) {
        try (Connection connection = getConnection()) {
            createSchema(connection, Const.SCHEMA_NAME);
            updateDatabaseStructure(connection);
        } catch (SQLException | ClassNotFoundException e) {
            logger.error(e.getMessage(), e);
        }
    }
...
    private static void updateDatabaseStructure(Connection connection) {
        try {
            Database database = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(new JdbcConnection(connection));
            database.setDefaultSchemaName(Const.SCHEMA_NAME);
            database.setLiquibaseSchemaName(Const.SCHEMA_NAME);
            final Liquibase liquibase = new Liquibase(Const.LIQUIBASE_CHANGELOG_FILE, new ClassLoaderResourceAccessor(), database);
            liquibase.update(new Contexts(), new LabelExpression());
        } catch (LiquibaseException e) {
            logger.error(e.getMessage(), e);
        }
    }
...

Букву I верните в заголовок, пожалуйста: Liquibase и Maven
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории