Bug 14536 - DB exception while trying to delete physical network

Reviewed-By: Sheng Yang

Changes:
Added 'removed' column to physical_network_service_providers to avoid the Foreign Key constraint error.
This commit is contained in:
prachi 2012-03-28 19:05:29 -07:00
parent 2cbb99aa26
commit 353fdd5ee7
3 changed files with 15 additions and 0 deletions

View File

@ -18,6 +18,7 @@
package com.cloud.network.dao;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@ -32,6 +33,7 @@ import javax.persistence.Table;
import com.cloud.network.Network.Service;
import com.cloud.network.PhysicalNetworkServiceProvider;
import com.cloud.utils.db.GenericDao;
@Entity
@Table(name = "physical_network_service_providers")
@ -90,6 +92,8 @@ public class PhysicalNetworkServiceProviderVO implements PhysicalNetworkServiceP
@Column(name = "security_group_service_provided")
boolean securitygroupServiceProvided;
@Column(name=GenericDao.REMOVED_COLUMN)
Date removed;
public PhysicalNetworkServiceProviderVO() {
}
@ -242,6 +246,14 @@ public class PhysicalNetworkServiceProviderVO implements PhysicalNetworkServiceP
this.uuid = uuid;
}
public Date getRemoved() {
return removed;
}
public void setRemoved(Date removed) {
this.removed = removed;
}
public void setEnabledServices(List<Service> services){
this.setVpnServiceProvided(services.contains(Service.Vpn));
this.setDhcpServiceProvided(services.contains(Service.Dhcp));

View File

@ -2005,6 +2005,7 @@ CREATE TABLE `cloud`.`physical_network_service_providers` (
`port_forwarding_service_provided` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Is Port Forwarding service provided',
`user_data_service_provided` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Is UserData service provided',
`security_group_service_provided` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'Is SG service provided',
`removed` datetime COMMENT 'date removed if not null',
PRIMARY KEY (`id`),
CONSTRAINT `fk_pnetwork_service_providers__physical_network_id` FOREIGN KEY (`physical_network_id`) REFERENCES `physical_network`(`id`) ON DELETE CASCADE,
CONSTRAINT `uc_service_providers__uuid` UNIQUE (`uuid`),

View File

@ -28,3 +28,5 @@ ALTER TABLE `cloud_usage`.`usage_ip_address` MODIFY COLUMN `is_system` smallint(
ALTER TABLE `cloud_usage`.`account` ADD CONSTRAINT `uc_account__uuid` UNIQUE (`uuid`);
ALTER TABLE `cloud`.`host` ALTER COLUMN `resource_state` SET DEFAULT 'Enabled';
ALTER TABLE `cloud`.`physical_network_service_providers` ADD COLUMN `removed` datetime COMMENT 'date removed if not null';