Пользовательский DataType постоянно генерирует Liquibase миграции

Здравствуйте.
По документации создал пользовательский DataType, который позволяет сопоставлять строку, которая лежит в бд, в java класс.
Все работает нормально, но каждый перезапуск приложения генерирует миграцию.

<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
                      http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.5.xsd"
        objectQuotingStrategy="QUOTE_ONLY_RESERVED_WORDS">
    <changeSet id="1" author="database">
        <modifyDataType columnName="CONTENT" newDataType="text" tableName="TABLENAME"/>
    </changeSet>
</databaseChangeLog>

Только что тоже столкнулся с подобным поведением… Даже если в @Ddl указать тот тип, который и так используется в DB.

Какая у вас версия Jmix Studio?

Если я правильно понял - версия плагина?
2022-11-15_18-26-35

1 симпатия

Здравствуйте!

Не могли бы вы приложить простой пример проекта, на котором воспроизводится проблема?
Я не смог воспроизвести данное поведение на примере GeoPointDatatype из документации.

Добрый день! У меня проблема возникла так: сначала были сгенерированы и применены changelog-и без кастомного DataType. А потом уже с ним (если важно, то в базе - bigint, java type - Long, DataType использовал для конвертирования в Double). И вот когда я добавил DataType, то при каждом изменении он начал генерировать с ним changelog-и.

Попробую повторить в отдельном проекте. Если получится, то сброшу ссылку на проект.

→ GitLab ←

При каждом запуске генерирует dbchanglelog-и.
Postgresql, можно запустить через docker compose up -d. Порт проброшен 5435 до базы. Имя базы rp, пользователь и пароль - postgres.

День добрый!

По ссылке на проект получаю 404, вероятно не хватает прав

Да, прошу прощения, поправил.

Большое спасибо за предоставленный проект.
Проблема воспроизводится, будем разбираться.

На данный момент можно добавить этот скрипт в игнорируемые, тогда он не будет отображаться и выполняться при каждом запуске приложения. Для этого в диалоге Changelog Preview нужно выделить changeset и в панели выше нажав на “-” выбрать Remove and Ignore

1 симпатия