2013-07-10 2 views
1

이동 경로 명령 도구를 사용하여 Java 마이그레이션을 인식하고 실행시킬 수 없습니다. 내가 지금까지 무슨 짓을이동 경로 Java 마이그레이션이 명령 줄 도구에서 작동하지 않습니다.

:

  1. 다운로드 및 다음 속성
    • flyway.driver, 이동 경로를 설정, 이동 경로 (명령 줄 버전) conf 디렉토리에
    • 구성 flyway.properties의 압축을 풉니 다. url, flyway.user, flyway.password
  2. jars 디렉토리에 oracle JDBC 드라이버 추가
  3. 실행 됨 flyway.cmd init => 작업 됨. 히스토리 테이블이 생성되었습니다.
  4. ./sql 디렉토리에 SQL 파일 추가. V1_1__Some_sql.sql
  5. Executed flyway.cmd migrate => 작업. DB 변경 완료

    FINE SO FAR. 예상대로 작동합니다. 이제 문제가되는 부분 :

  6. 내 IDE에 Java 클래스를 만들었습니다.

    public class V1_2__Another_test implements JdbcMigration 
    { 
    
        public void migrate(Connection connection) throws Exception 
        { 
    
         PreparedStatement statement = connection.prepareStatement("INSERT INTO flyway_sample (name) VALUES ('My Name')"); 
    
         try { 
         statement.execute(); 
         } finally { 
         statement.close(); 
         } 
        } 
    } 
    
  7. 는 V1_2__Another_test.jar

  8. 는 SQL 또는 항아리에 항아리를 배치하고 flyway.cmd 실행 마이그레이션하려고 이름을 항아리에 넣어, 클래스를 컴파일. => 이동 경로가 그것을 무시합니다.
  9. .class 파일을 jars 또는 sql => Flyway에 넣으려고해도 이동 경로도 무시됩니다.
  10. 나는 활주로 2.1.1을 사용합니다.

내가 무엇이 누락 되었습니까?

답변

3

잘 했어. 클래스가 상주하는 패키지를 flyway.locations에 추가해야하며 잘 진행해야합니다.

+1

flyway.locations에 packagenames를 주셔서 감사합니다. 누락 된 부분이었습니다. 이제는 효과가있는 것 같습니다. – magicroomy

+0

위치를 언급했습니다. 여전히 작동하지 않습니다. 'flyway.jarDirs = D : /Software/dbmigrationtool/flyway-4.0/jars flyway.locations = classpath : db.migration, 파일 시스템 : D :/Workspace/상업용/상업용/CCPlatform/src/main/database/oracle/update_tanant ' – iMBMT

관련 문제