소개
Liquibase는 자바 애플리케이션에서 데이터베이스 스키마를 버전 관리하고 변경을 추적하기 위한 오픈 소스 툴이다. 이를 이용하면 쉽게 데이터베이스의 테이블 생성, 열 추가, 열 삭제 등의 스키마 변경 작업을 수행할 수 있다.
이 글에서는 Liquibase를 사용하여 자바 애플리케이션에서 데이터베이스 열을 삽입하고 삭제하는 방법에 대해 알아보겠다.
Liquibase 설정하기
먼저, Maven 프로젝트의 pom.xml
파일에 Liquibase 종속성을 추가해야 한다. 다음은 Liquibase와 데이터베이스 드라이버 종속성을 추가한 예이다.
<dependencies>
<!-- Liquibase -->
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>4.3.5</version>
</dependency>
<!-- Database Driver -->
<dependency>
<!-- Replace with your database driver -->
<groupId>com.mysql.cj</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
</dependencies>
열 삽입하기
데이터베이스에 열을 삽입하려면 Liquibase changelog 파일을 작성해야 한다. Changlog 파일은 스키마 변경 작업을 기록하는 XML 파일이다. 다음은 db.changelog.xml
파일에 열을 삽입하는 예이다.
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xsi:schemaLocation="
http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.3.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
<changeSet id="1" author="yourname">
<addColumn tableName="yourtable">
<column name="newcolumn" type="varchar(255)"/>
</addColumn>
</changeSet>
</databaseChangeLog>
위의 예에서 <addColumn>
요소를 사용하여 yourtable
테이블에 newcolumn
이라는 열을 추가하고 있다.
애플리케이션을 실행하면 Liquibase는 changelog 파일을 읽고 데이터베이스의 스키마에 변경을 적용한다. 변경 내용은 테이블에 새로운 열이 추가되는 것을 확인할 수 있다.
열 삭제하기
데이터베이스에서 열을 삭제하려면 <dropColumn>
요소를 사용하여 changelog 파일에 해당 작업을 기록해야 한다. 다음은 db.changelog.xml
파일에 열을 삭제하는 예이다.
<changeSet id="2" author="yourname">
<dropColumn tableName="yourtable" columnName="oldcolumn"/>
</changeSet>
위의 예에서 <dropColumn>
요소를 사용하여 yourtable
테이블에서 oldcolumn
열을 삭제하고 있다.
애플리케이션을 실행하면 Liquibase가 changelog 파일을 읽고 데이터베이스의 스키마에 변경을 적용한다. 변경 내용은 테이블에서 해당 열이 제거되는 것을 확인할 수 있다.
결론
Liquibase를 사용하면 자바 애플리케이션에서 간단하게 데이터베이스의 열을 삽입하고 삭제할 수 있다. 이를 통해 스키마 변경 작업을 추적하고 버전 관리할 수 있다.
더 많은 Liquibase 기능과 옵션에 대해서는 Liquibase 공식 문서를 참고하십시오.