Flyway 상세 설명 및 Springboot 통합 Flyway 의 상세 한 튜 토리 얼
5133 단어 FlywaySpringboot
Flyway 의 가장 핵심 은 모든 버 전의 진화 와 상 태 를 기록 하 는 MetaData 표 입 니 다.Flyway 가 처음 시작 하면 기본 이름 인 SCHEMA 를 만 듭 니 다.VERSION 의 원소 국 표.표 에 버 전,설명,실행 할 sql 스 크 립 트 등 이 저장 되 어 있 습 니 다.
sql 스 크 립 트 형식:V+버 전 번호+더 블 밑줄+초속+끝 문자
예:V1INIT_DATABASE.sql
위의 V 는 기본 값 으로 통과 할 수 있 습 니 다.
접 두 사 를 지정 하기 위해 flyway.sql-migration-prefix
Migrate:
Migrate 는 데이터 Schema 를 최신 버 전 으로 옮 기 고 Migrate 를 할 때 MetaData 메타 데이터 시트 를 검사 하 며 존재 하지 않 으 면 MetaData 시트 를 만 들 고 MetaData 는 데이터베이스 과거 기록 변경 등 정 보 를 기록 하 는 데 사 용 됩 니 다.
Migrate 는 지정 한 파일 시스템 이나 classpath 의 Migrations 를 검색 합 니 다.MetaData 의 기록 과 비교 하여 버 전 업 그 레이 드 를 진행 합 니 다.
Clean:대응 하 는 데이터베이스 Schema 의 모든 대상 을 제거 합 니 다.표 구조,보기,저장 과정 등 을 포함 하여 clean 작업 은 dev 와 test 단계 에서 사용 하기 좋 습 니 다.
Info:모든 Migrations 의 상세 함 과 상태 정 보 를 인쇄 하 는 데 사용 되 며,MetaData 와 Migrations 를 통 해 완 성 된 것 으로 현재 데이터베이스 버 전 을 빠르게 찾 을 수 있 습 니 다.
vaidate:apply 의 Migrations 가 변경 되 었 는 지 검증 하고 기본적으로 열 렸 습 니 다.메타 데이터 시트 와 로 컬 Migrations 의 checkNum 값 을 비교 하 는 원리 이 며,값 이 같 으 면 검증 이 통과 되 고 그렇지 않 으 면 실패 합 니 다.
BaseLine:데이터베이스 Schema 구조 가 존재 하 는 데이터베이스 에 대한 해결 방안 입 니 다.비 어 있 는 데이터베이스 에 MetaData 표를 새로 만 들 고 Migrations 를 이 데이터베이스 에 적용 합 니 다.기 존 표 구조의 데이터베이스 에 도 적용 할 수 있 고 Metadata 표를 추가 할 수 있 습 니 다.
repair:repair 작업 은 metaData 표를 복구 할 수 있 습 니 다.이 작업 은 metadata 에 오류 가 발생 했 을 때 유용 합 니 다.
용도:
1):실패 한 Migration 기록 을 삭제 하고 DDL 이 지원 되 지 않 는 데이터베이스 만 을 대상 으로 합 니 다.
Flayway 사용:
1.flyway 의 의존 도입:
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>5.0.3</version>
</dependency>
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>5.0.3</version>
</plugin>
2.Maven 의 Springboot 프로젝트 를 새로 만 들 고 설정 파일 에 데이터 원본 정 보 를 설정 합 니 다.
server.port=8088
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
3.classpath 에/db/migration 폴 더 를 새로 만 들 고 sql 스 크 립 트 파일 을 만 듭 니 다.
use testdb;
CREATE TABLE person (
id int(11) NOT NULL AUTO_INCREMENT,
first varchar(100) NOT NULL,
last varchar(100) NOT NULL,
dateofbirth DATE DEFAULT null,
placeofbirth varchar(100) not null,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into person (first,last,dateofbirth,placeofbirth) values('Dursun','KOC', STR_TO_DATE('02/10/1982', '%m/%d/%Y'),'Erzincan');
insert into person (first,last,dateofbirth,placeofbirth) values('Durseeun','KeeOC', STR_TO_DATE('05/10/1982', '%m/%d/%Y'),'Erzeeincan');
4.springboot 프로젝트 시작:sql 스 크 립 트 를 불 러 왔 습 니 다.
5.데이터베이스 보기:
fly way-schema-history 표를 만 들 었 습 니 다.이 버 전 은 기본적으로 이 표 입 니 다.schema 표 의 이름 을 지정 하려 면 설정 할 수 있 습 니 다.
flyway.tableflyway
6:fly way 의 기타 설정:
flyway.baseline-description .
flyway.baseline-on-migrate schema , , , false.
flyway.baseline-version schema , 1.
flyway.check-location , false.
flyway.clean-on-validation-error clean, false.
flyway.enabled flywary, true.
flyway.encoding , UTF-8.
flyway.ignore-failed-future-migration , false.
flyway.init-sqls SQL.
flyway.locations , db/migration.
flyway.out-of-order , false.
flyway.password .
flyway.placeholder-prefix placeholder , ${.
flyway.placeholder-replacementplaceholders , true.
flyway.placeholder-suffix placeholder , }.
flyway.placeholders.[placeholder name] placeholder value
flyway.schemas flywary schema, , schema.
flyway.sql-migration-prefix , V.
flyway.sql-migration-separator , __
flyway.sql-migration-suffix , .sql
flyway.tableflyway , schema_version
flyway.target , latest version
flyway.url JDBC URL, ,
flyway.user
flyway.validate-on-migrate , true.
flyway 의 입문 은 여기까지 입 니 다.다른 내용 은 뒤에 보충 하 겠 습 니 다.Flyway 에 대한 상세 한 설명 및 Springboot 통합 Flyway 의 상세 한 튜 토리 얼 에 관 한 글 은 여기까지 입 니 다.더 많은 관련 Flyway 소개 Springboot 통합 Flyway 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Eclipse에서 Flyway 추가, 설정, 실행이번에는 maven 프로젝트에서 flyway 추가 등을 설명 pom.xml에 Flyway dependency 추가 pom.xml에 project > build > plugins 안에 plugin 추가 프로젝트의 루트...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.