]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
DRYD-835: Stop on error when running upgrade scripts.
authorRay Lee <ray.lee@lyrasis.org>
Mon, 30 Mar 2020 16:16:50 +0000 (12:16 -0400)
committerRay Lee <ray.lee@lyrasis.org>
Mon, 30 Mar 2020 16:16:50 +0000 (12:16 -0400)
services/common/src/main/java/org/collectionspace/services/common/ServiceMain.java
services/common/src/main/java/org/collectionspace/services/common/storage/JDBCTools.java

index 27b3aab8bbc74dc8d0960f35ad188e15b1bbf590..77776f2a8459b0235a1061df1805abb062baee23 100644 (file)
@@ -505,6 +505,9 @@ public class ServiceMain {
                        conn.commit();
                }
                catch (Exception e) {
+                       logger.error(String.format("Could not upgrade %s repository", repositoryName));
+                       logger.error(e.toString());
+
                        if (conn != null) {
                                conn.rollback();
                        }
index ba715cf52697b3ac21f53484c373742616995364..a6bbb646be2320dd97bc9bee61147532842dd6e2 100644 (file)
  */
 package org.collectionspace.services.common.storage;
 
-import org.collectionspace.services.common.ServiceMain;
-import org.collectionspace.services.common.api.JEEServerDeployment;
 import org.collectionspace.services.common.api.Tools;
 import org.collectionspace.services.common.config.ConfigUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java_cup.version;
-
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
@@ -45,14 +41,8 @@ import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
 import java.util.HashMap;
-import java.util.LinkedHashMap;
 import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Pattern;
 
 import javax.sql.rowset.CachedRowSet;
 import javax.sql.rowset.RowSetFactory;
@@ -833,8 +823,10 @@ public class JDBCTools {
 
     public static void runScript(Connection conn, File scriptFile) throws FileNotFoundException {
         ScriptRunner scriptRunner = new ScriptRunner(conn);
-        Reader reader = new BufferedReader(new FileReader(scriptFile));
 
-        scriptRunner.runScript(reader);
+        scriptRunner.setAutoCommit(false);
+        scriptRunner.setStopOnError(true);
+
+        scriptRunner.runScript(new BufferedReader(new FileReader(scriptFile)));
     }
 }