2014-03-24 1 views
1

저는 Liquibase 3.1.1을 사용하여 PostgreSQL 9.1에서 테이블을 만듭니다.Liquibase/PostgreSQL : 테이블 케이스를 올바르게 보존하는 방법?

<changeSet id="1" author="bob"> 
    <createTable tableName="BATCHES"> 
     <!-- .. -- > 
    </createTable> 
</changeSet> 

그러나, 테이블이 소문자 이름으로 생성됩니다 : 예를 들어

# select * from "BATCHES"; 
ERROR: relation "BATCHES" does not exist 

는 Liquibase 테이블의 경우 보존 DDL (및 열 등)을 생성 이름을 가질 수있는 방법이 있나요 내가 변경 로그에 명시한 것은 무엇입니까?

+3

방법에 대해 단지 모든 곳에서 소문자를 사용하여 "해야만을 인용 객체"의 기본 논리를 무시하기 위해 변경 집합 속성 또는 databaseChangeLog 루트 요소에 objectQuotingStrategy = "QUOTE_ALL_OBJECTS"속성을 사용할 수 있습니다 ? –

+2

하지 마십시오. 일단 그렇게하면 인용 부호로 된 식별자를 사방에 사용해야합니다. 실제로는 원하지 않는 식별자가 필요합니다. –

+0

@Mike - H2도 사용하고 있습니다.이 응용 프로그램의 DB 인스턴스는 이미 대문자 테이블 이름이 있습니다. – user3364825

답변

5

당신은

관련 문제