이동 경로 - 데이터베이스에 대한 버전 관리

무엇 이동 경로가?

이동 경로는 데이터베이스 관리 도구의 버전입니다. 현상 공정에서, 데이터베이스는 필연적 테이블 구조 변경, 새로운 테이블 또는 뷰 등을 변경, 예를 들면 데이터 변경을 발생한다.

이 프로젝트는 데이터베이스 개발 환경의 내용을 한 번, 기후 변화가 데이터베이스를 업데이트 할 수있는 환경을 테스트하는 것입니다 보장없는 경우.

수행 할 수있는 테스트 환경을 동시에 개발 환경에 변화가없는 경우에도 다음 또한 수행 갈 테스트 환경 열한를 완료하기 위해 개발 될 모든 SQL 스크립트를 유지해야합니다.

그런 다음 프로덕션 환경으로 이동뿐만 아니라 수행 할 수 있습니다.

SQL 스크립트의 수는 너무 많은 한 번, 작은 받아 들일 수 있다면, 스크립트 실행은 매우 많은 시간이 소요됩니다.

이동 경로는 이러한 문제를 해결하는 데 사용됩니다. 다음 섹션에서는 메이븐의 이동 경로 도구를 통합됩니다.

당신이 함께 메이븐을 사용하지 않을 경우, 이동 경로는 명령 라인을 가지고, API, Gradle을 다른 방법으로, 여기를 클릭 .

그런 긍정적 인 시작!

시작하기 전에

다음과 같이이 문서에 사용 5.2.4 버전의 이동 경로, 설치 및 메이븐 자바 환경이 해당 자바와 메이븐 버전으로 갈 것입니다 :

환경 :

  자바 8, 9, 10 또는 11

  메이븐 3.X

편집 :

  생각

데이터베이스 :

  MySQL의

당신은 설치 환경 후 Maven 프로젝트를 생성해야합니다.

이 문서에 따라 MySQL을 할 수없는 경우 MySQL 데이터베이스, 여기에 사용된다

다른는 연결 URL 데이터베이스와 데이터베이스 기반 물론, 일부 특정 구성이 다를 수 있습니다,하지만 효과이다.

당신은 예를 들어, 새로운 Person 테이블을 만들 준비가되면 그것은 모든 이동 경로 구성을 시작했다.

통합 이동 경로

첫 번째 단계

프레임 워크 또는 플러그인 또는 다른 도구 Maven 프로젝트의 도입은, 첫 번째 단계는 pom.xml 파일, 관련 자원의 도입을 수정하는 것입니다.

여기에 이동 경로 플러그를 소개했다.

1     < 작성 > 
2          < 플러그인 > 
3              < 플러그인 > 
4                  < 의 groupId > org.springframework.boot </ 의 groupId > 
5                  < artifactId를 > 스프링 부팅 받는다는 - 플러그인 </ artifactId를 > 
6              </ 플러그인 > 
7              <! - 引入이동 경로插件-> 
8              < 플러그인 > 
9                  < 의 groupId > org.flywaydb </ 의 groupId >
10                  <artifactId를 > 이동 경로 - 메이븐 - 플러그인 </ artifactId를 > 
11.                  < 버전 > 5.2.4 </ 버전 > 
(12)가                  < 구성 > 
(13)가                      <! -이 데이터베이스 연결 URL을 -> 
(14)                      < URL > JDBC : MySQL은 : // localhost를 : 3306 / = dbtrial true로 useUnicode? & A; characterEncoding = UTF-8. & A; serverTimezone = UTC </ URL > 
(15)                      <! - 데이터베이스 사용자 이름 -> 
(16)                      < 사용자 > 루트 </ 사용자 >
17                      <! - 데이터베이스 연결 암호 -> 
18 인                      < 암호 > 123 </ 암호 > 
. 19                      <! - 데이터베이스 지정 -> 
20 인                      < 스키마 > dbtrial </ 스키마 > 
21된다                      <! - 테이블은 flyway_schema_history 존재하지 않는 지정하면 새가 -> 
(22)는                      < baselineOnMigrate > true로 </ baselineOnMigrate > 
(23)가                  </ 구성 > 
24              </ 플러그인 > 
25          </ 플러그인 >
(26)     </ 구축 >

참고 : pom.xml 파일의 문자 "&"로, 그래서 여기에 특수 문자로 간주되기 때문에 "& A;" 

   <스키마는> dbtrial </ 스키마>이 구성은 아래의 데이터베이스의 데이터베이스 스크립트 실행을 지정하는 것입니다.

     실행 로그를 사용 flyway_schema_history 테이블 레코드는, 컨텐츠의 테이블. 무화과 기록되고

     첫 번째는 (성공적인 구현 이동 경로가보고, 지금은 이해를 돕기 위해 사전에 게시하는 후이는, 물론) 두 번째는 SQL 스크립트 내부 프로젝트의 구현, 로그 테이블을 만드는 것입니다 :

   

    

  프로젝트의 생성의 선택은 웹 프로젝트 및 MySQL 데이터베이스를 사용하기로 결정했습니다 때문에 그래서 우리는 MySQL 데이터베이스 기반을 가지고있다.

그렇지 않은 경우의 pom.xml에 의존성을 추가 할 필요가

        < 의존성 > 
            < 의 groupId > MySQL의 </ 의 groupId > 
            < artifactId를 > MySQL을 커넥터 자바 </ artifactId를 > 
            < 범위 > 런타임 </ 범위 > 
        </ 의존성 >

두번째 단계

pom.xml 파일 수정을 완료 한 후, 우리는 SQL 스크립트 실행을 위해 준비해야합니다.

그러나 필요 폴더에 새 SQL 스크립트 스크립트 파일 전에 프로젝트에서 파일을 만들 수 있습니다.

경로 : \ SRC \ 주 \ 리소스 \ DB를 \ 마이그레이션

참고 :이 폴더를 만들 때, 철새 이동 경로의 기본값은 위의 경로입니다. (구성이 변경 될 수 있지만, 그러나 새로운 연구는 너무 복잡하지 않는 것이 좋습니다)

그런 다음 아래 좋은 경로를 만들 수있는 새로운 SQL 스크립트 파일을 생성

경로 : \ SRC \ 주 \ 리소스 \ DB를 \ 마이그레이션 \의 V1.1__CreatePersonTable.sql 참고 : 파일의 이름은 V1.0, V1.1, V1.x이 형식으로 권장되는 형식을 사용하고 싶습니다. 장점이

스크립트 파일의 이름에 매우 민감 이동 경로, 형식 오류하지 않을 수 있습니다, 또한보기에 도움이되는, 파일 이름이 버전을 알고있다 볼 수 있습니다.

나중에 버전은 두 개의 밑줄과 함께 사용해야합니다. 그렇지 않으면 오류 파일 이름 형식이 잘못되었을 것이다.

디렉토리 구조 :

SQL 스크립트

테이블 PERSON (생성 
    널되지 ID의 INT, 
    이름 varchar (100)는 null되지 않음 
);

세 번째 단계

모든 것은 오직 강한 바람 준비, 그리고 마지막으로 우리가해야 할 이동 경로가 자동으로 실행하여 데이터베이스를 업데이트 할 수 있습니다.

터미널을 열고 다음 명령을 입력 :

  

실행 후 출력 정보 :

 

그런 다음 데이터베이스를 확인 :

 

개요

엔트리 레벨의 기사, 오류 또는 의심 것을 환영합니다.

이동 경로 기능은 매우 시장 데이터베이스를 매우 강력한 지원한다.

당신은 동시에 등등 서로 다른 데이터베이스, 트랜잭션의 스크립트를 실행 할 수 있습니다.

심층 사용은 할 수 공식 웹 사이트를 방문하십시오 .

 

추천

출처www.cnblogs.com/chaojizhengui/p/Flyway.html