>
@Bean
public SpringLiquibase liquibase()  {
    SpringLiquibase liquibase = new SpringLiquibase();
    liquibase.setDataSource(vsDataSource());        
    liquibase.setChangeLog("classpath:liquibase/avt_changelog_master.xml"); 
    return liquibase;
}

이것은 스프링 부트 응용 프로그램을 통해 liquibase를 초기화하는 방법입니다.

데이터베이스 변경 로그 테이블을 확인한 후 해당 변경 세트 항목이 있고 성공적으로 실행되었음을 알 수 있습니다.

Liquibase가 해당 변경 세트를 건너 뛰지 않고 새로운 고유 변경 세트 ID를 실행하지 않는 이유는 무엇입니까?


  • 답변 # 1

    변경 로그 이름에 문제가있을 수 있습니다. 다른 응용 프로그램/maven/...에서 해당 변경 로그를 실행하고 logicalFilePath 를 지정하지 않은 경우  liquibase는이를 다른 변경 로그로 생각할 수 있습니다. logicalFilePath 를 설정하십시오  변경 로그 정의에 넣고 실행 해보십시오.

    이것은 예입니다 :

    <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-3.5.xsd" logicalFilePath="db-changelog-master.xml">

  • 이전 javascript - PHP 세션에 저장되는 업데이트 된 SQL 데이터베이스 값을 얻는 방법은 무엇입니까?
  • 다음 vue.js - gitlab-ci에서 VueJS 앱의 e2e 테스트