소개
데이터베이스 스키마 관리는 애플리케이션의 수명주기 동안 매우 중요한 역할을 합니다. 새로운 기능을 추가하거나 수정할 때마다 스키마를 업데이트해야 합니다. 이를 위해 하나의 표준 도구인 Liquibase를 사용하면 스키마 마이그레이션을 쉽게 관리할 수 있습니다. Liquibase는 자바 기반의 오픈 소스 프로젝트로, Java, .NET, Python 등 다양한 언어로 작성된 애플리케이션에 적용할 수 있습니다.
Liquibase 설정하기
Liquibase를 사용하기 위해서는 다음과 같은 단계를 거쳐야 합니다.
pom.xml
파일에 Liquibase 의존성 추가하기<dependency> <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>4.5.0</version> </dependency>
liquibase.properties
파일 생성하기driver: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/mydatabase username: myusername password: mypassword
changeLog.xml
파일 생성하기<?xml version="1.0" encoding="UTF-8"?> <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"> <!-- Add your change sets here --> </databaseChangeLog>
스키마 마이그레이션 수행하기
Liquibase를 사용하여 스키마 마이그레이션을 수행하려면 다음 명령을 실행해야 합니다.
liquibase update
위 명령을 실행하면 liquibase.properties
파일에 지정된 데이터베이스에 대한 마이그레이션을 수행합니다. 변경 내용은 changeLog.xml
파일에 추가된 change set에 따라 적용됩니다.
롤백하기
Liquibase를 사용하면 롤백도 간단하게 수행할 수 있습니다. 롤백은 이전 버전의 스키마로 돌아가는 것을 의미합니다.
liquibase rollback
위 명령을 실행하면 가장 최근에 수행된 마이그레이션을 롤백합니다. 롤백 명령어에는 추가적인 옵션을 사용하여 롤백할 변경 세트를 지정할 수도 있습니다.
결론
Liquibase는 자바 애플리케이션의 데이터베이스 스키마 마이그레이션을 쉽게 관리할 수 있는 강력한 도구입니다. 설정을 간단하게 구성하고 변경 내용을 적용하거나 롤백하는 것도 매우 간단합니다. Liquibase를 사용하여 애플리케이션의 데이터베이스 스키마 관리를 효율적으로 수행할 수 있습니다.