2013-10-07 1 views
2

플라이 웨이를 사용하여 프로젝트에서 잠재적으로 사용하려고하므로 매우 간단한 마이그레이션 스크립트가 있습니다. 내가 잘못 그러나 최대 뭔가를 설정 한 것으로 보인다 - 이동 경로가 성공적으로 메타 데이터 테이블을 만들 내 DB (SQL 서버 2008 R2)에 연결,하지만 난 스크립트를 실행할 때 나는마이 그 레이션 스크립트에서 플라이 웨이 오류 발생

[ERROR] Failed to execute goal com.googlecode.flyway:flyway-maven-plugin:2.2.1:migrate  (default-cli) on project persistence: com.googlecode.flyway.cor 
e.api.FlywayException: Migration of schema [dbo] to version 1.1 failed! Changes successfully rolled back. Incorrect syntax near '?'. -> [Help 1] 

내 스크립트가 얻을 :

ALTER TABLE msg.Message 
ADD Deleted bit NULL 
디버그 로그, 이동 경로 출력을 보면

: 물음표에서 온, 또는 텍스트 공백이 왜 어디

[DEBUG] Executing SQL: ??A L T E R T A B L E m s g . M e s s a g e 

    A D D D e l e t e d b i t N U L L 

는 모르겠어요. 어떤 아이디어?

+0

나는 이동 경로와 너무 확신이 없지만 SQL 문을'; '로 끝내지 않아도됩니까? 귀하의 스크립트는 SQL 파일이므로 ... – cheffe

+2

인코딩 문제 일 수 있습니까? 이동 경로에는 UTF-8이 필요합니다. 어느 것을 사용 했습니까? –

+0

SQL Server Management Studio 2008에서 생성 된 파일을 사용하고있는 UTF-8이었습니다. 이제 개별 스크립트가 올바르게 실행되고 있지만 초기 DB 마이그레이션이 완전히 실패합니다. 지금은 초기 마이그레이션을 손으로 처리하고 Flyway가 패치 스크립트를 처리하도록 할 것입니다. –

답변

2

출력 종류는 UTF를 나타내지 만 16 비트 형식에서는 시작 부분에 마법 문자가 표시됩니다. ? 공백은 공짜입니다.

대부분의 유닉스 도구가 UTF-8을 사용하는 반면, 여러 가지 MS 도구가이를 기본으로 사용합니다.

1

sql 마이그레이션 파일의 인코딩을 UTF-8로 변경하면 '??' 나를위한 오류.