2013-05-21 2 views
2

여기 악셀 폰테인의 예에 따라 Maven을 통해 SQL 및 Java 마이그레이션의 혼합물을 실행하기 위해 노력하고있어 : http://www.methodsandtools.com/tools/flyway.php오류 - 라인 1에 오류 실행 문 : 패키지 db.migration

기본적으로 몇 가지 SQL 마이그레이션을 수행하고 다음으로 BLOB를 테이블로로드하는 Java 마이그레이션과 그 다음에 다른 SQL 마이그레이션을 수행하려고합니다.

첫 번째 SQL 마이그레이션 세트가 정상적으로 실행됩니다. Java 마이그레이션을 위해 .java 파일 확장자를 지정하면 무시됩니다. 나는 자바 마이그레이션 .SQL의 파일 확장자를 지정하는 경우, 그것은 올바른 순서로 실행,하지만 난 다음 오류 얻을됩니다 :

package db.migration; 
import com.googlecode.flyway.core.api.migration.jdbc.JdbcMigration; 
import java.sql.Connection; 
import java.sql.PreparedStatement; 
import java.io.File; 
: 여기

[ERROR] com.googlecode.flyway.core.api.FlywayException: Error executing statement at line 1: package db.migration [ERROR] Caused by org.postgresql.util.PSQLException: ERROR: syntax error at or near "package" Position: 1 [ERROR] com.googlecode.flyway.core.api.FlywayException: Migration of schema "test" to version 1.0.0106 failed! Changes successfully rolled back.

내 자바 마이그레이션 파일의 머리를

내가 뭘 잘못하고 있는지에 대한 아이디어가 있습니까?

답변

1

좋아요, 나는 마침내 무슨 일이 일어나고 있는지 알아 냈습니다. 이동 경로가 "." (예 : V1.0.0000_ 파일 이름), Java 이주 클래스 이름에는 지원되지 않습니다. ""대신 "."대신 클래스 이름을 변경했습니다. (V1_0_1000_filename)과 그 ​​원래 오류를 지나갈 수있었습니다.

+0

수정. 이것은 표준 Java 제한 사항입니다. –

+0

는 postgres 드라이버 또는 JDK 버전에 따라 다릅니다. 드라이버 41이나 1.7 이전에이 오류를 보지 못했습니다. – Nick