2011-03-10 3 views
4

나는 Liquibase 버전 : 2.0.1을 사용 중입니다.사전 조건으로 포맷 된 SQL

형식화 된 sql 파일에서 사전 조건을 사용할 수 있습니까? 그렇다면 어떻게? 예를 들어 주시면 감사하겠습니다.

나는 이와 같은 일을하고 싶지만 SQL 형식의 파일입니다.

<preConditions onFail="WARN"> 
    <sqlCheck expectedResult="0">select count(*) from oldtable</sqlCheck> 
</preConditions> 

답변

6

liquibase 형식의 sql 파일에서 전제 조건을 지정하는 것이 지원됩니다.

--preconditions onFail:HALT onError:HALT 
--precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM my_table 

그것은 단지 SQL 체크 전제 조건 유형이 현재 지원되는 설명서에 기록됩니다 : 변경 집합 정의 내에서 전제 조건은 (공식 문서에서 복사) 다음 형식을 사용하여 지정할 수 있습니다.

전체 설명서는 at the liquibase website입니다.

2

현재 FormattedSql 파서는 전제 조건을 지원하지 않습니다.

그러나 필요할 경우 지원하는 자체 파서로 기본 클래스를 확장 할 수 있습니다. http://liquibase.org/extensions

+0

여전히 사실입니까? 최신 문서 (http://www.liquibase.org/documentation/sql_format.html)는 이것이 가능하다는 것을 보여줍니다. –

+1

더 이상 사실이 아닙니다. 전제 조건은 형식이 지정된 SQL에서 올바르게 작동해야합니다. –

+0

확인 됨. 나는 onFail 동작이 틀렸기 때문에 그들과 문제를 겪고있었습니다 :-) –