문제

ANT 스크립트에 미래의 롤백 태그를 추가했습니다. 내가하고 싶은 일 (그리고 미래의 롤백이 내가 찾고있는 것 같아요)는 SQL 롤백 스크립트를 생성하는 것입니다.롤백 스크립트는 SQL 스크립트와 함께 제공되어야합니다 내 고객의 요구 사항입니다).

내 changelog 파일에는 많은 변경 사항이 있으며 그중 일부에는 <sqlFile> 꼬리표.

예를 들어:

<databaseChangeLog ...>

<include file="latest/somesqlprocedure.xml" relativeToChangelogFile="true"/>

</databaseChangelog...>

어디에 latest/somesqlprocedure.xml 있습니다 sqlFile 꼬리표.

<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9 http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">

<sqlFile path="${changelog.dir}/latest/myprocedure.sql" splitStatements="false" />

</changeSet>

</databaseChangeLog>

개미 스크립트를 실행하면 다음 오류가 발생합니다.

liquibase.exception.changelogparseexception : 유효하지 않은 마이그레이션 파일 : <sqlfile path=${changelog.dir}/latest/myprocedure.sql>- 파일을 찾을 수 없습니다

무슨 일이 일어나고 있는지에 대한 아이디어가 있습니까?

이것은 build.xml 파일의 스 니펫입니다

<target name="db-future-rollback" depends="init">
        <rollbackFutureDatabase
                    changeLogFile="${db.changelog.file}"
                    driver="${database.driver}"
                    url="${database.url}"
                    username="${database.username}"
                    password="${database.password}"
                    outputfile="${database.rollback.dir}"
                    promptOnNonLocalDatabase="${prompt.user.if.not.local.database}"
                    classpathref="project.classpath"
                    >
            </rollbackFutureDatabase>

    </target>

미리 감사드립니다.

도움이 되었습니까?

해결책

문제는 ClassPath 관련 경로가 아닌 SQLFile에서 절대 경로를 사용하는 데 발생할 수 있습니다. ClassPath 상대 경로는 원래 Liquibase에서 지원되었으며 여전히 더 잘 테스트되었습니다. 절대 경로 옵션이 최근에 추가되었으며, FirurerollbackSQL 코드는이를 지원하기 위해 패치되지 않았을 수 있습니다.

상대 경로를 사용하여 sqlfile을 사용해 볼 수 있습니까?

참고로, 프라이나 이름이 데이터 타사 체인지 로그 테이블에서 사용되기 때문에 상대 경로 옵션이 일반적으로 더 좋습니다. 절대 경로를 사용하는 경우 전체 경로가 저장되고 다른 경로에서 ChangEleg를 다시 실행하려고하면 (또는 다른 기계에서 동일한 데이터베이스에 대해 실행) Liquibase 다시 실행하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top