[DBFLUTE-308] [replace-schema]コメントアウトしたSQLが実行されてしまう Created: 2008-08-14 Updated: 2008-08-22 Resolved: 2008-08-20 |
|
| Status: | Closed |
| Project: | DBFlute |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Minor |
| Reporter: | taktos | Assignee: | jflute |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Java |
||
| Description |
|
replace-schemaで実行されるSQLファイルにてコメントアウトしたSQL文が実行されてしまいます。 replace-schema.sql --ALTER TABLE EMP ADD CONSTRAINT PK_EMP -- PRIMARY KEY (EMP_ID) --; dbflute.log 2008-08-13 11:34:04,078 [main] INFO (DfSqlFileRunnerBase#traceSql():145) - --ALTER TABLE EMP ADD CONSTRAINT PK_EMP -- PRIMARY KEY (EMP_ID) -- 2008-08-13 11:34:04,094 [main] WARN (DfSqlFileRunnerExecute#execSQL():44) - Failed to execute: --ALTER TABLE EMP ADD CONSTRAINT PK_EMP -- PRIMARY KEY (EMP_ID) -- java.sql.SQLException: SQLの型が無効です。 at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:439) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:65) at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:936) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222) at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1770) at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1739) at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:298) at org.seasar.dbflute.helper.jdbc.sqlfile.DfSqlFileRunnerExecute.execSQL(DfSqlFileRunnerExecute.java:37) at org.seasar.dbflute.helper.jdbc.sqlfile.DfSqlFileRunnerBase.runTransaction(DfSqlFileRunnerBase.java:90) at org.seasar.dbflute.helper.jdbc.sqlfile.DfSqlFileFireMan.execute(DfSqlFileFireMan.java:34) at org.seasar.dbflute.task.DfReplaceSchemaTask.createSchema(DfReplaceSchemaTask.java:171) at org.seasar.dbflute.task.DfReplaceSchemaTask.doExecute(DfReplaceSchemaTask.java:82) at org.seasar.dbflute.task.bs.DfAbstractTask.execute(DfAbstractTask.java:72) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) at org.apache.tools.ant.Project.executeTarget(Project.java:1298) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1181) at org.apache.tools.ant.Main.runBuild(Main.java:698) at org.apache.tools.ant.Main.startAnt(Main.java:199) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) 2008-08-13 11:34:04,110 [main] WARN (DfSqlFileRunnerExecute#execSQL():45) - |
| Comments |
| Comment by jflute [ 2008-08-20 ] |
|
Skipした場合はログを出力するようにした。 |
| Comment by jflute [ 2008-08-20 ] |
|
全てのLineが--で始まってる、もしくは、(trimして)空文字であれば、 |
| Comment by jflute [ 2008-08-20 ] |
|
丁寧なフィードバックありがとうございます。 「コメントだけの場合は実行しない」という判定を入れられればと思います。 |