From 026eef4a39b694689662bce0519c2cb7297a0dfd Mon Sep 17 00:00:00 2001
From: satish <satish.dvnk@vtiger.com>
Date: Wed, 20 Dec 2017 12:16:49 +0530
Subject: [PATCH] Fixes #534 - vt7 - Installation Errors

---
 modules/Migration/schema/660_to_700.php | 13 ++++++++++---
 schema/DatabaseSchema.xml               | 14 ++++++++++++++
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/modules/Migration/schema/660_to_700.php b/modules/Migration/schema/660_to_700.php
index b2df87fc7..b1098ee0b 100644
--- a/modules/Migration/schema/660_to_700.php
+++ b/modules/Migration/schema/660_to_700.php
@@ -1125,9 +1125,13 @@ if(defined('VTIGER_UPGRADE')) {
 	//Multiple attachment support for comments
 	$db->pquery('ALTER TABLE vtiger_seattachmentsrel DROP PRIMARY KEY', array());
 	$db->pquery('ALTER TABLE vtiger_seattachmentsrel ADD CONSTRAINT PRIMARY KEY (crmid,attachmentsid)', array());
-	$db->pquery('ALTER TABLE vtiger_seattachmentsrel ADD CONSTRAINT fk_2_vtiger_seattachmentsrel FOREIGN KEY (crmid) REFERENCES vtiger_crmentity(crmid) ON DELETE CASCADE', array());
 	$db->pquery('ALTER TABLE vtiger_project MODIFY COLUMN projectid INT(19) PRIMARY KEY');
 
+	$keyResult = $db->pquery("SHOW INDEX FROM vtiger_seattachmentsrel WHERE key_name='fk_2_vtiger_seattachmentsrel'", array());
+	if (!$db->num_rows($keyResult)) {
+		$db->pquery('ALTER TABLE vtiger_seattachmentsrel ADD CONSTRAINT fk_2_vtiger_seattachmentsrel FOREIGN KEY (crmid) REFERENCES vtiger_crmentity(crmid) ON DELETE CASCADE', array());
+	}
+
 	if (!Vtiger_Utils::CheckTable('vtiger_wsapp_logs_basic')) {
 		Vtiger_Utils::CreateTable('vtiger_wsapp_logs_basic',
 				'(`id` int(25) NOT NULL AUTO_INCREMENT,
@@ -1782,11 +1786,14 @@ if(defined('VTIGER_UPGRADE')) {
 	}
 
 	$db->pquery('ALTER TABLE vtiger_cvstdfilter DROP PRIMARY KEY', array());
-	$db->pquery('ALTER TABLE vtiger_cvstdfilter DROP KEY cvstdfilter_cvid_idx', array());
+	$keyResult = $db->pquery("SHOW INDEX FROM vtiger_cvstdfilter WHERE key_name='cvstdfilter_cvid_idx'", array());
+	if ($db->num_rows($keyResult)) {
+		$db->pquery('ALTER TABLE vtiger_cvstdfilter DROP KEY cvstdfilter_cvid_idx', array());
+	}
 
 	$keyResult = $db->pquery("SHOW INDEX FROM vtiger_cvstdfilter WHERE key_name='fk_1_vtiger_cvstdfilter'", array());
 	if ($db->num_rows($keyResult)) {
-		$db->pquery('ALTER TABLE vtiger_cvstdfilter DROP FOREIGN KEY fk_1_vtiger_cvstdfilter', array());
+		$db->pquery('ALTER TABLE vtiger_cvstdfilter DROP KEY fk_1_vtiger_cvstdfilter', array());
 	}
 	$db->pquery('ALTER TABLE vtiger_cvstdfilter ADD CONSTRAINT fk_1_vtiger_cvstdfilter FOREIGN KEY (cvid) REFERENCES vtiger_customview(cvid) ON DELETE CASCADE', array());
 
diff --git a/schema/DatabaseSchema.xml b/schema/DatabaseSchema.xml
index d8ac988b0..739916cd9 100644
--- a/schema/DatabaseSchema.xml
+++ b/schema/DatabaseSchema.xml
@@ -6991,4 +6991,18 @@
 		<opt platform="mysql">Engine=InnoDB</opt>
 	</table>
 
+	<table name="vtiger_app2tab">
+		<field name="tabid" type="I" size="11" />
+		<field name="appname" type="C" size="20" />
+		<field name="sequence" type="I" size="19" />
+		<field name="visible" type="I" size="3" >
+			<default value="1" />
+		</field>
+		<opt platform="mysql">Engine=InnoDB</opt>
+	</table>
+
+	<table name="vtiger_app2tab" alter="true">
+		<constraint>ADD CONSTRAINT vtiger_app2tab_fk_tab FOREIGN KEY (tabid) REFERENCES vtiger_tab(tabid) ON DELETE CASCADE</constraint>
+		<opt>Engine=InnoDB</opt>
+	</table>
 </schema>
-- 
GitLab