From cf7e351cbf9a42f135987a4d18976dfa97e2491e Mon Sep 17 00:00:00 2001 From: alena Date: Wed, 3 Aug 2011 10:14:43 -0700 Subject: [PATCH] bug 10921: remove obsolete keys during 2.1.x to 2.2.9 upgrade status 10921: resolved fixed Conflicts: server/src/com/cloud/upgrade/dao/Upgrade228to229.java --- .../cloud/upgrade/dao/Upgrade228to229.java | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/upgrade/dao/Upgrade228to229.java b/server/src/com/cloud/upgrade/dao/Upgrade228to229.java index 36492dcf730..15503811e93 100644 --- a/server/src/com/cloud/upgrade/dao/Upgrade228to229.java +++ b/server/src/com/cloud/upgrade/dao/Upgrade228to229.java @@ -69,7 +69,10 @@ public class Upgrade228to229 implements DbUpgrade { pstmt = conn.prepareStatement("ALTER TABLE `cloud`.`snapshots` ADD INDEX `i_snapshots__removed`(`removed`)"); pstmt.executeUpdate(); - + + pstmt = conn.prepareStatement("ALTER TABLE `cloud`.`network_tags` ADD CONSTRAINT `fk_network_tags__network_id` FOREIGN KEY (`network_id`) REFERENCES `networks`(`id`) ON DELETE CASCADE"); + pstmt.executeUpdate(); + pstmt.close(); } catch (SQLException e) { @@ -88,7 +91,7 @@ public class Upgrade228to229 implements DbUpgrade { HashMap> foreignKeys = new HashMap>(); //indexes to drop - + //for network_offering List keys = new ArrayList(); keys.add("name"); @@ -99,12 +102,33 @@ public class Upgrade228to229 implements DbUpgrade { keys.add("i_snapshots__removed"); indexes.put("snapshots", keys); + + //for domain router + keys = new ArrayList(); + keys.add("i_domain_router__public_ip_address"); + indexes.put("domain_router", keys); + + //for user_ip_address + keys = new ArrayList(); + keys.add("i_user_ip_address__public_ip_address"); + indexes.put("user_ip_address", keys); + + //foreign keys to drop - this key would be re-added later keys = new ArrayList(); keys.add("fk_cluster__data_center_id"); foreignKeys.put("cluster", keys); - + + keys = new ArrayList(); + keys.add("fk_domain_router__public_ip_address"); + foreignKeys.put("domain_router", keys); + + //drop foreign key from network tags table - it would be re-added later + keys = new ArrayList(); + keys.add("fk_network_tags__network_id"); + foreignKeys.put("network_tags", keys); + // drop all foreign keys first s_logger.debug("Dropping keys that don't exist in 2.2.6 version of the DB..."); for (String tableName : foreignKeys.keySet()) {