목차
개요
Liquibase는 데이터베이스 스키마의 버전 관리를 도와주는 도구입니다. 변경 세트(ChangeSet)는 Liquibase에서 사용되는 단위로, 데이터베이스 스키마의 변경 내역을 정의하고 실행할 수 있습니다. 변경 세트를 사용하여 데이터베이스의 구조적 변화를 추적하고 관리할 수 있습니다. 이번 글에서는 Liquibase 변경 세트의 개념과 사용법에 대해 알아보겠습니다.
변경 세트란 무엇인가?
변경 세트(ChangeSet)는 Liquibase에서 단일 데이터베이스 스키마 변경을 나타내는 단위입니다. 각 변경 세트는 고유한 식별자와 변경 내역을 포함하고 있습니다. 이러한 변경 내역은 데이터베이스 스키마의 테이블, 컬럼, 제약 조건 등과 관련된 작업을 포함할 수 있습니다. 변경 세트는 순차적으로 실행되며, 항상 정의된 순서대로 실행되어 예상되는 데이터베이스 상태를 유지합니다.
Liquibase에서의 변경 세트 작성
Liquibase에서 변경 세트를 작성하기 위해서는 XML 또는 YAML 형식을 사용할 수 있습니다. 변경 세트는 다음과 같이 작성됩니다:
<changeSet id="uniqueIdentifier" author="authorName">
<createTable tableName="exampleTable">
<column name="id" type="INT"/>
<column name="name" type="VARCHAR(100)"/>
</createTable>
</changeSet>
위 예시에서는 createTable
명령어를 사용하여 exampleTable
이라는 테이블을 생성하는 변경 세트를 작성하였습니다. id
와 author
는 변경 세트를 고유하게 식별하기 위한 필수 속성입니다. 각 변경 세트는 대개 스키마 변경 하나와 관련된 작업을 포함합니다.
변경 세트 실행
Liquibase를 실행하여 변경 세트를 데이터베이스에 적용할 수 있습니다. 변경 세트를 실행하기 전에, 다음과 같은 설정 파일을 작성해야 합니다:
<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.8.xsd">
<changeSet id="uniqueIdentifier" author="authorName">
// 변경 세트를 포함한 다른 변경 내역을 작성합니다.
</changeSet>
</databaseChangeLog>
변경 세트를 실행하려면 Liquibase 명령어를 실행합니다. 예를 들어, 다음과 같은 명령어를 사용하여 변경 세트를 실행할 수 있습니다:
liquibase --changeLogFile=db.changelog.xml update
위 명령어에서 --changeLogFile
은 설정 파일의 경로를 지정하고, update
는 변경 세트를 실행하는 명령입니다.
결론
Liquibase 변경 세트는 데이터베이스 스키마의 변경을 추적하고 관리하는 중요한 개념입니다. 변경 세트를 사용하면 명확한 데이터베이스 상태를 유지하고 변경 내역을 추적할 수 있습니다. 이 글을 통해 Liquibase 변경 세트의 개념과 사용법을 이해하고, 실제 프로젝트에 적용해보시기 바랍니다.