2017-12-04 25 views
0

기본 키를 제거하려고하는데 다음 테이블이 있습니다 (TBL이라고 함). 기본 DB는 H2입니다.Liquibase 색인 "PRIMARY_KEY_xx"는 (는) 제약에 속합니다.

<createTable tableName="TBL"> 
     <column name="ID" type="BIGINT"> 
      <constraints primaryKey="true" primaryKeyName="TBL_PK"/> 
     </column> 
     ... 

다음 changeset에서 다음 스크립트를 사용하려고하면 아래 오류가 발생합니다.

<dropPrimaryKey tableName="TBL" constraintName="TBL_PK" /> 

오류 :

Caused by: org.h2.jdbc.JdbcSQLException: Index "PRIMARY_KEY_xx" belongs to a constraint; SQL statement: 
ALTER TABLE TBL DROP PRIMARY KEY [90085-140] 

내가 놓친 거지 어떤 생각?


나는 dropIndex이 있다는 것을 알고 있지만, 나는이 PRIMARY_KEY_xx (나중 단계에 대한 일반적인 유지하는) 타겟으로하는 방법을 모르겠어요.

+0

나는 H2 db에 문제가 있다고 생각합니다. PK를 작성할 때 몇 가지 제한 조건이 작성됩니다. 'select * from information_schema.constraints where table_name = 'TBL'and COLUMN_LIST = 'ID'' – bilak

+0

실제로이 문제가있었습니다. 대답으로 다시 게시하면 받아 들일 것입니다. – michaelbahr

답변

1

문제는 H2 db와 같습니다. PK를 작성할 때 몇 가지 제한 조건이 작성됩니다. 쿼리를 사용하여 찾으려고 시도 :
select * from information_schema.constraints where table_name='TBL' and column_list='ID'