[java] 자바에서 Liquibase의 기본 개념

Liquibase는 데이터베이스 스키마 및 데이터의 버전 관리를 도와주는 오픈 소스 라이브러리입니다. 자바 기반 프로젝트에서 많이 사용되며, 데이터베이스 변경 사항의 추적, 관리, 적용을 손쉽게 할 수 있습니다.

Liquibase 사용하기

  1. 의존성 추가
    <dependency>
        <groupId>org.liquibase</groupId>
        <artifactId>liquibase-core</artifactId>
        <version>4.5.0</version>
    </dependency>
    
  2. 변경 사항 정의 Liquibase는 XML, YAML, JSON 등 다양한 형식으로 변경 사항을 정의할 수 있습니다. 변경 사항은 데이터베이스 스키마 생성, 테이블 생성, 인덱스 생성, 데이터 로딩 등 다양한 작업을 포함할 수 있습니다.

    예시: create_table.xml

    <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-4.5.xsd">
       
        <changeSet id="createTable" author="me">
            <createTable tableName="users">
                <column name="id" type="bigint" autoIncrement="true">
                    <constraints primaryKey="true" nullable="false"/>
                </column>
                <column name="name" type="varchar(255)"/>
            </createTable>
        </changeSet>
       
    </databaseChangeLog>
    
  3. 변경 사항 적용 Liquibase를 사용하여 변경 사항을 적용하려면 Liquibase 명령어를 실행해야 합니다. 예를 들어, Maven 프로젝트의 경우 다음과 같이 실행할 수 있습니다.

    mvn liquibase:update
    

    변경 사항이 적용되면 Liquibase는 내부적으로 변경 이력을 추적하여 앞으로 추가된 변경 사항만을 적용할 수 있도록 관리합니다.

기타 기능

Liquibase는 다양한 편의 기능을 제공합니다. 몇 가지 주요 기능은 다음과 같습니다.

결론

Liquibase는 자바 프로젝트에서 데이터베이스 스키마 및 데이터의 버전 관리를 쉽게 할 수 있는 유용한 도구입니다. 변경 사항의 추적과 적용, 롤백, 데이터 마이그레이션 등 다양한 기능을 제공하여 개발자들이 효율적으로 작업할 수 있도록 도와줍니다.


참고 문서: