2012-12-11 1 views
1

Java 애플리케이션에서 Maven 3, FlyWay 및 Oracle을 사용하고 있습니다. 내 SQL 스크립트에서 오라클 프로 시저를 호출하려고합니다.Flyway에서 Oracle 프로 시저를 호출하십시오.

파일은 V1.0.0__test.sql라고하며, 내용은 다음과 같습니다

execute pkg_test.pr_do_task('TEST_VALUE'); 

올바른 형식인가?

 
[ERROR] Failed to execute goal com.googlecode.flyway:flyway-maven-plugin:2.0.3:migrate (default-cli) on project bambi-ex 
man-sql: Flyway Error: com.googlecode.flyway.core.api.FlywayException: Migration to version 4.0.0 failed! Please restore 
backups and roll back database and code! -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.googlecode.flyway:flyway-maven-plugin 
:2.0.3:migrate (default-cli) on project bambi-exman-sql: Flyway Error: com.googlecode.flyway.core.api.FlywayException: M 
igration to version 4.0.0 failed! Please restore backups and roll back database and code! 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Flyway Error: com.googlecode.flyway.core.api.FlywayException: 
Migration to version 4.0.0 failed! Please restore backups and roll back database and code! 
     at com.googlecode.flyway.maven.AbstractFlywayMojo.execute(AbstractFlywayMojo.java:200) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
     ... 19 more 
Caused by: com.googlecode.flyway.core.api.FlywayException: Migration to version 4.0.0 failed! Please restore backups and 
roll back database and code! 
     at com.googlecode.flyway.core.migration.DbMigrator.migrate(DbMigrator.java:186) 
     at com.googlecode.flyway.core.Flyway$1.execute(Flyway.java:856) 
     at com.googlecode.flyway.core.Flyway$1.execute(Flyway.java:820) 
     at com.googlecode.flyway.core.Flyway.execute(Flyway.java:1259) 
     at com.googlecode.flyway.core.Flyway.migrate(Flyway.java:820) 
     at com.googlecode.flyway.maven.MigrateMojo.doExecuteWithMigrationConfig(MigrateMojo.java:159) 
     at com.googlecode.flyway.maven.AbstractMigrationLoadingMojo.doExecute(AbstractMigrationLoadingMojo.java:162) 
     at com.googlecode.flyway.maven.AbstractFlywayMojo.execute(AbstractFlywayMojo.java:191) 
     ... 21 more 

나는 전체 스택 추적을 얻을 수가 캔트 : I는

mvn -P DEV clean compile flyway:migrate 

을 실행할 때 나는 단지 일반적인 오류가 발생합니다.

감사합니다.

답변

2
Try this, 

begin 
pkg_test.pr_do_task('TEST_VALUE'); 
end; 
/
+0

"/"flyway에서 작동하지 않는다는 것은 SQLPLUS 클라이언트 전용 기능으로 오류가 발생합니다 – cyril

0

이 경우의 오류보고는 확실히 개선 될 수 있으며 개선되어야합니다. 이슈 트래커에 개선 요청을 제출하십시오.