Liquibase.Exception.MigrationFailedException: не удалось выполнить миграцию для набора изменений — ошибка при инициализаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Liquibase.Exception.MigrationFailedException: не удалось выполнить миграцию для набора изменений — ошибка при инициализа

Сообщение Anonymous »

У меня много интеграционных тестов, и я настроил liquibase, чтобы можно было инициализировать базу данных. Но каждый тестовый класс инициализирует новую инициализацию. В этом случае неизбежны дублирующиеся ошибки данных. Я нашел несколько рекомендаций, как избежать этого, но столкнулся с проблемой.
  • changelog-1.xml
  • master
Я также написал класс конфигурации.
В пакете:
  • liquibase.ext

Код: Выделить всё

public class CleanUpDatabaseTestExecutionListener extends AbstractTestExecutionListener {

@Autowired
SpringLiquibase liquibase;

@Override
public int getOrder() {
return Ordered.HIGHEST_PRECEDENCE;
}

@Override
public void afterTestClass(TestContext testContext) throws Exception {
testContext.getApplicationContext()
.getAutowireCapableBeanFactory()
.autowireBean(this);
liquibase.afterPropertiesSet();
}
}
  • контекст

Код: Выделить всё

@Slf4j
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@TestExecutionListeners(listeners = {
DependencyInjectionTestExecutionListener.class,
TransactionalTestExecutionListener.class,
CleanUpDatabaseTestExecutionListener.class,
})
public abstract class AbstractTestcontainers extends ContainerConfig {
Я получаю сообщение об ошибке: liquibase.Exception.MigrationFailedException:
Не удалось выполнить миграцию для набора изменений
db/changelog/test/liquibase-initdb.xml::1::n:
Причина: liquibase.Exception.DatabaseException: ОШИБКА: тип «calc_types» уже существует [Failed SQL: (0) --
-- Дамп базы данных PostgreSQL

spring.liquibase.drop-first=true - Не работает.
Может быть, кто знает, как это исправить?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»