From f7814df488e108b6ea2c64ba6860c5a38b0e387b Mon Sep 17 00:00:00 2001 From: alena Date: Tue, 14 Jun 2011 09:32:26 -0700 Subject: [PATCH] bug 10265: 226 to 227 db upgrade - remove unique key constraint for "network_offerings.name" field (if exists) status 10265: resolved fixed --- .../com/cloud/upgrade/dao/Upgrade226to227.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/server/src/com/cloud/upgrade/dao/Upgrade226to227.java b/server/src/com/cloud/upgrade/dao/Upgrade226to227.java index b1ceb84d2f8..d4ae290a623 100644 --- a/server/src/com/cloud/upgrade/dao/Upgrade226to227.java +++ b/server/src/com/cloud/upgrade/dao/Upgrade226to227.java @@ -23,6 +23,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import org.apache.log4j.Logger; @@ -90,6 +91,7 @@ public class Upgrade226to227 implements DbUpgrade { } updateDomainLevelNetworks(conn); + dropKeysIfExist(conn); } @Override @@ -133,4 +135,20 @@ public class Upgrade226to227 implements DbUpgrade { } } + private void dropKeysIfExist(Connection conn) { + HashMap> indexes = new HashMap>(); + + // domain router table + List keys = new ArrayList(); + keys.add("unique_name"); + indexes.put("network_offerings", keys); + + s_logger.debug("Dropping keys that don't exist in 2.2.7 version of the DB..."); + + // drop indexes now + for (String tableName : indexes.keySet()) { + DbUpgradeUtils.dropKeysIfExist(conn, tableName, indexes.get(tableName), false); + } + } + }