From 2a2dac80f960864c717e5afefdb490dec7bc26a7 Mon Sep 17 00:00:00 2001 From: liugang Date: Thu, 20 Feb 2025 16:03:06 +0800 Subject: [PATCH] + [refac] add table to save related objects of release. --- config/zentaopms.php | 29 +++++++++++++++-------------- db/update21.4.sql | 11 +++++++++++ db/zentao.sql | 12 ++++++++++++ 3 files changed, 38 insertions(+), 14 deletions(-) diff --git a/config/zentaopms.php b/config/zentaopms.php index 6f186c6fb0..bce71afc7e 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -393,20 +393,21 @@ define('TABLE_AUTOMATION', '`' . $config->db->prefix . 'automation`'); if(!defined('TABLE_ASSET')) define('TABLE_ASSET', '`' . $config->db->prefix . 'asset`'); -define('TABLE_PRODUCT', '`' . $config->db->prefix . 'product`'); -define('TABLE_BRANCH', '`' . $config->db->prefix . 'branch`'); -define('TABLE_EXPECT', '`' . $config->db->prefix . 'expect`'); -define('TABLE_STAGE', '`' . $config->db->prefix . 'stage`'); -define('TABLE_STAKEHOLDER', '`' . $config->db->prefix . 'stakeholder`'); -define('TABLE_STORY', '`' . $config->db->prefix . 'story`'); -define('TABLE_STORYSPEC', '`' . $config->db->prefix . 'storyspec`'); -define('TABLE_STORYREVIEW', '`' . $config->db->prefix . 'storyreview`'); -define('TABLE_STORYSTAGE', '`' . $config->db->prefix . 'storystage`'); -define('TABLE_STORYESTIMATE', '`' . $config->db->prefix . 'storyestimate`'); -define('TABLE_STORYGRADE', '`' . $config->db->prefix . 'storygrade`'); -define('TABLE_PRODUCTPLAN', '`' . $config->db->prefix . 'productplan`'); -define('TABLE_PLANSTORY', '`' . $config->db->prefix . 'planstory`'); -define('TABLE_RELEASE', '`' . $config->db->prefix . 'release`'); +define('TABLE_PRODUCT', '`' . $config->db->prefix . 'product`'); +define('TABLE_BRANCH', '`' . $config->db->prefix . 'branch`'); +define('TABLE_EXPECT', '`' . $config->db->prefix . 'expect`'); +define('TABLE_STAGE', '`' . $config->db->prefix . 'stage`'); +define('TABLE_STAKEHOLDER', '`' . $config->db->prefix . 'stakeholder`'); +define('TABLE_STORY', '`' . $config->db->prefix . 'story`'); +define('TABLE_STORYSPEC', '`' . $config->db->prefix . 'storyspec`'); +define('TABLE_STORYREVIEW', '`' . $config->db->prefix . 'storyreview`'); +define('TABLE_STORYSTAGE', '`' . $config->db->prefix . 'storystage`'); +define('TABLE_STORYESTIMATE', '`' . $config->db->prefix . 'storyestimate`'); +define('TABLE_STORYGRADE', '`' . $config->db->prefix . 'storygrade`'); +define('TABLE_PRODUCTPLAN', '`' . $config->db->prefix . 'productplan`'); +define('TABLE_PLANSTORY', '`' . $config->db->prefix . 'planstory`'); +define('TABLE_RELEASE', '`' . $config->db->prefix . 'release`'); +define('TABLE_RELEASERELATED', '`' . $config->db->prefix . 'releaserelated`'); define('TABLE_PROGRAM', '`' . $config->db->prefix . 'project`'); define('TABLE_PROJECT', '`' . $config->db->prefix . 'project`'); diff --git a/db/update21.4.sql b/db/update21.4.sql index 2734062996..6d192f97b0 100644 --- a/db/update21.4.sql +++ b/db/update21.4.sql @@ -16,3 +16,14 @@ CREATE TABLE IF NOT EXISTS `zt_extuser` ( `account` char(30) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `zt_releaserelated` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `release` int(11) unsigned NOT NULL, + `objectID` int(11) unsigned NOT NULL, + `objectType` varchar(10) NOT NULL DEFAULT '', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET utf8; +CREATE INDEX `objectID` ON `zt_releaserelated` (`objectID`); +CREATE INDEX `objectType` ON `zt_releaserelated` (`objectType`); +CREATE UNIQUE INDEX `unique` ON `zt_releaserelated` (`release`, `objectID`, `objectType`); diff --git a/db/zentao.sql b/db/zentao.sql index 20121e2db8..78bcb1e466 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -1718,6 +1718,18 @@ CREATE INDEX `product` ON `zt_release` (`product`); CREATE INDEX `build` ON `zt_release` (`build`); CREATE INDEX `idx_system` ON `zt_release` (`system`); +-- DROP TABLE IF EXISTS `zt_releaserelated`; +CREATE TABLE IF NOT EXISTS `zt_releaserelated` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `release` int(11) unsigned NOT NULL, + `objectID` int(11) unsigned NOT NULL, + `objectType` varchar(10) NOT NULL DEFAULT '', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET utf8; +CREATE INDEX `objectID` ON `zt_releaserelated` (`objectID`); +CREATE INDEX `objectType` ON `zt_releaserelated` (`objectType`); +CREATE UNIQUE INDEX `unique` ON `zt_releaserelated` (`release`, `objectID`, `objectType`); + -- DROP TABLE IF EXISTS `zt_repo`; CREATE TABLE IF NOT EXISTS `zt_repo` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT,