728x90
728x90
build.gradle에 아래와 같이 추가해주고
//liquibase
implementation 'org.liquibase:liquibase-core'
yaml에
liquibase:
change-log: classpath:/db/changelog/db.changelog-master.xml
resource쪽에 아래와 같이 추가해준다.
/db/changelog/db.changelog-master.xml
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.7"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.7
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.7.xsd">
<changeSet author="yuri" id="c1">
<!-- <createTable tableName="students">-->
<!-- <column autoIncrement="true" name="id" type="bigint">-->
<!-- <constraints primaryKey="true" primaryKeyName="pk_student"/>-->
<!-- </column>-->
<!-- <column name="fullname" type="varchar(255)">-->
<!-- <constraints nullable="false"/>-->
<!-- </column>-->
<!-- </createTable>-->
<!-- <createTable tableName="exams">-->
<!-- <column autoIncrement="true" name="id" type="bigint">-->
<!-- <constraints primaryKey="true" primaryKeyName="pk_exam"/>-->
<!-- </column>-->
<!-- <column name="name" type="varchar(255)">-->
<!-- <constraints nullable="false" unique="true"/>-->
<!-- </column>-->
<!-- <column name="mark" type="smallint"/>-->
<!-- <column name="student_id" type="bigint"/>-->
<!-- </createTable>-->
<!-- <addForeignKeyConstraint-->
<!-- constraintName="fk_student_exam" baseTableName="exams"-->
<!-- baseColumnNames="student_id" referencedTableName="students"-->
<!-- referencedColumnNames="id"/>-->
</changeSet>
</databaseChangeLog>
liquibase --changeLogFile="./liquibase/changelog.xml" --url="jdbc:mariadb://10.40.235.110:30311/phm" --username="root" --password="Cms12345!" updateSQL > output.sql
이런 명령어로 데이터를 뽑아낼 수도 있고, 테이블 구조도 뽑아낼수도 있다.
테이블을 전부 지우고, 다시 만들려고 할 때 jpa ddl은 두고 liquibase 로 변경한다
728x90
728x90