mirror of https://github.com/apache/cloudstack.git
Fixed upgrade bug related with the fact that some db upgrade steps were missed in 2.2.0/2.2.1 to 2.2.2 db upgrade
This commit is contained in:
parent
fa5797b774
commit
b485acf8ee
|
|
@ -214,11 +214,11 @@ public class Upgrade224to225 implements DbUpgrade {
|
|||
}
|
||||
|
||||
private void dropTableColumnsIfExist(Connection conn, String tableName, List<String> columns) {
|
||||
|
||||
PreparedStatement pstmt = null;
|
||||
try {
|
||||
for (String column : columns) {
|
||||
try {
|
||||
PreparedStatement pstmt = conn.prepareStatement("SELECT " + column + " FROM " + tableName);
|
||||
pstmt = conn.prepareStatement("SELECT " + column + " FROM " + tableName);
|
||||
pstmt.executeQuery();
|
||||
|
||||
} catch (SQLException e) {
|
||||
|
|
@ -227,12 +227,13 @@ public class Upgrade224to225 implements DbUpgrade {
|
|||
continue;
|
||||
}
|
||||
|
||||
PreparedStatement pstmt = conn.prepareStatement("ALTER TABLE " + tableName + " DROP COLUMN " + column);
|
||||
pstmt = conn.prepareStatement("ALTER TABLE " + tableName + " DROP COLUMN " + column);
|
||||
pstmt.executeUpdate();
|
||||
s_logger.debug("Column " + column + " is dropped successfully from the table " + tableName);
|
||||
pstmt.close();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
s_logger.warn("Unable to drop columns using query " + pstmt + " due to exception", e);
|
||||
throw new CloudRuntimeException("Unable to drop columns due to ", e);
|
||||
}
|
||||
}
|
||||
|
|
@ -241,7 +242,7 @@ public class Upgrade224to225 implements DbUpgrade {
|
|||
HashMap<String, List<String>> foreignKeys = new HashMap<String, List<String>>();
|
||||
HashMap<String, List<String>> indexes = new HashMap<String, List<String>>();
|
||||
|
||||
// account table
|
||||
// console proxy table
|
||||
List<String> keys = new ArrayList<String>();
|
||||
keys.add("fk_console_proxy__vlan_id");
|
||||
foreignKeys.put("console_proxy", keys);
|
||||
|
|
@ -276,6 +277,7 @@ public class Upgrade224to225 implements DbUpgrade {
|
|||
keys = new ArrayList<String>();
|
||||
keys.add("fk_user_vm__domain_router_id");
|
||||
keys.add("fk_user_vm__external_vlan_db_id");
|
||||
keys.add("fk_user_vm__external_ip_address");
|
||||
foreignKeys.put("user_vm", keys);
|
||||
|
||||
// user_vm_details table
|
||||
|
|
|
|||
|
|
@ -5,10 +5,6 @@ DROP TABLE IF EXISTS `cloud`.`disk_template_ref`;
|
|||
|
||||
-- Then remove columns
|
||||
|
||||
ALTER TABLE `cloud`.`volumes` DROP COLUMN `mirror_state`;
|
||||
ALTER TABLE `cloud`.`volumes` DROP COLUMN `mirror_vol`;
|
||||
ALTER TABLE `cloud`.`volumes` DROP COLUMN `destroyed`;
|
||||
|
||||
DROP TABLE `cloud`.`ip_forwarding`;
|
||||
|
||||
ALTER TABLE `cloud`.`host` DROP COLUMN `sequence`;
|
||||
|
|
@ -22,72 +18,22 @@ ALTER TABLE `cloud`.`vm_instance` DROP COLUMN `storage_ip`;
|
|||
|
||||
DROP TABLE `cloud`.`pricing`;
|
||||
|
||||
ALTER TABLE `cloud`.`user_vm` DROP FOREIGN KEY `fk_user_vm__domain_router_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP INDEX `i_user_vm__domain_router_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP FOREIGN KEY `fk_user_vm__service_offering_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP INDEX `i_user_vm__service_offering_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP FOREIGN KEY `fk_user_vm__account_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP INDEX `i_user_vm__account_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP FOREIGN KEY `fk_user_vm__external_ip_address`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP INDEX `i_user_vm__external_ip_address`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP FOREIGN KEY `fk_user_vm__external_vlan_db_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP INDEX `i_user_vm__external_vlan_db_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP COLUMN `domain_router_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP COLUMN `service_offering_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP COLUMN `vnet`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP COLUMN `dc_vlan`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP COLUMN `account_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP COLUMN `domain_id`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP COLUMN `external_ip_address`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP COLUMN `external_mac_address`;
|
||||
ALTER TABLE `cloud`.`user_vm` DROP COLUMN `external_vlan_db_id`;
|
||||
|
||||
ALTER TABLE `cloud`.`domain_router` DROP FOREIGN KEY `fk_domain_router__account_id`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP FOREIGN KEY `fk_domain_router__public_ip_address`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP FOREIGN KEY `fk_domain_router__vlan_id`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP INDEX `i_domain_router__account_id`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP INDEX `i_domain_router__public_ip_address`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP INDEX `i_domain_router__vlan_id`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `gateway`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `dns1`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `dns2`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `guest_dc_mac_address`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `vnet`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `dc_vlan`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `vlan_db_id`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `vlan_id`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `domain_id`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `account_id`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `dhcp_ip_address`;
|
||||
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP FOREIGN KEY `fk_console_proxy__vlan_id`;
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP INDEX `i_console_proxy__vlan_id`;
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP COLUMN `gateway`;
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP COLUMN `dns1`;
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP COLUMN `dns2`;
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP COLUMN `domain`;
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP COLUMN `guest_mac_address`;
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP COLUMN `guest_ip_address`;
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP COLUMN `guest_netmask`;
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP COLUMN `vlan_db_id`;
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP COLUMN `vlan_id`;
|
||||
|
||||
ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `gateway`;
|
||||
ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `dns1`;
|
||||
ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `dns2`;
|
||||
ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `domain`;
|
||||
ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `guest_mac_address`;
|
||||
ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `guest_ip_address`;
|
||||
ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `guest_netmask`;
|
||||
ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `vlan_db_id`;
|
||||
ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `vlan_id`;
|
||||
#ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `guid`;
|
||||
|
||||
#ALTER TABLE `cloud`.`vlan` ADD CONSTRAINT `fk_vlan__network_id` FOREIGN KEY `fk_vlan__network_id`(`network_id`) REFERENCES `networks`(`id`);
|
||||
|
||||
DROP TABLE `cloud`.`vm_disk`;
|
||||
|
||||
ALTER TABLE `cloud`.`disk_offering` DROP COLUMN `mirrored`;
|
||||
DROP TABLE IF EXISTS `cloud`.`vm_disk`;
|
||||
|
||||
ALTER TABLE `cloud`.`load_balancer_vm_map` DROP COLUMN `pending`;
|
||||
|
||||
|
|
@ -101,22 +47,19 @@ ALTER TABLE `cloud`.`load_balancer_vm_map` ADD CONSTRAINT `fk_load_balancer_vm_m
|
|||
ALTER TABLE `cloud`.`user_ip_address` DROP PRIMARY KEY;
|
||||
ALTER TABLE `cloud`.`user_ip_address` ADD PRIMARY KEY (`id`);
|
||||
ALTER TABLE `cloud`.`user_ip_address` DROP INDEX public_ip_address;
|
||||
ALTER TABLE `cloud`.`user_ip_address` DROP KEY `i_user_ip_address__public_ip_address`;
|
||||
#ALTER TABLE `cloud`.`user_ip_address` DROP KEY `i_user_ip_address__public_ip_address`;
|
||||
ALTER TABLE `cloud`.`user_ip_address` ADD UNIQUE (`public_ip_address`, `source_network_id`);
|
||||
ALTER TABLE `cloud`.`user_ip_address` ADD CONSTRAINT `fk_user_ip_address__source_network_id` FOREIGN KEY (`source_network_id`) REFERENCES `networks`(`id`);
|
||||
ALTER TABLE `cloud`.`user_ip_address` ADD CONSTRAINT `fk_user_ip_address__network_id` FOREIGN KEY (`network_id`) REFERENCES `networks`(`id`);
|
||||
|
||||
ALTER TABLE `cloud`.`vm_instance` ADD CONSTRAINT `fk_vm_instance__service_offering_id` FOREIGN KEY `fk_vm_instance__service_offering_id` (`service_offering_id`) REFERENCES `service_offering` (`id`);
|
||||
|
||||
ALTER TABLE `cloud`.`template_spool_ref` ADD CONSTRAINT `fk_template_spool_ref__pool_id` FOREIGN KEY (`pool_id`) REFERENCES `storage_pool`(`id`) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE `cloud`.`volumes` MODIFY COLUMN `state` VARCHAR(32) NOT NULL;
|
||||
|
||||
ALTER TABLE `cloud`.`snapshot_policy` ADD KEY `volume_id` (`volume_id`);
|
||||
|
||||
DELETE FROM op_ha_work WHERE taken IS NOT NULL;
|
||||
DELETE FROM op_ha_work WHERE host_id NOT IN (SELECT DISTINCT id FROM host);
|
||||
ALTER TABLE `cloud`.`op_ha_work` ADD CONSTRAINT `fk_op_ha_work__host_id` FOREIGN KEY `fk_op_ha_work__host_id` (`host_id`) REFERENCES `host` (`id`);
|
||||
|
||||
UPDATE `cloud`.`vm_instance` SET last_host_id=NULL WHERE last_host_id NOT IN (SELECT DISTINCT id FROM host);
|
||||
ALTER TABLE `cloud`.`vm_instance` ADD CONSTRAINT `fk_vm_instance__last_host_id` FOREIGN KEY `fk_vm_instance__last_host_id` (`last_host_id`) REFERENCES `host`(`id`);
|
||||
|
|
|
|||
|
|
@ -1,14 +1,3 @@
|
|||
alter table firewall_rules drop column is_static_nat;
|
||||
delete from configuration where name='router.cleanup';
|
||||
|
||||
ALTER TABLE `cloud`.`console_proxy` DROP COLUMN `ram_size`;
|
||||
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `ram_size`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `domain`;
|
||||
ALTER TABLE `cloud`.`domain_router` DROP COLUMN `guest_mac_address`;
|
||||
|
||||
ALTER TABLE `cloud`.`secondary_storage_vm` DROP COLUMN `ram_size`;
|
||||
|
||||
ALTER TABLE `cloud`.`service_offering` DROP COLUMN `guest_ip_type`;
|
||||
|
||||
ALTER TABLE `cloud`.`vm_instance` DROP COLUMN `mirrored_vols`;
|
||||
|
|
|
|||
Loading…
Reference in New Issue