diff --git a/db/standard/zentao10.0.alpha.sql b/db/standard/zentao10.0.alpha.sql
new file mode 100644
index 0000000000..cc9c08f2af
--- /dev/null
+++ b/db/standard/zentao10.0.alpha.sql
@@ -0,0 +1,927 @@
+-- DROP TABLE IF EXISTS `zt_action`;
+CREATE TABLE IF NOT EXISTS `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `objectType` varchar(30) NOT NULL default '',
+ `objectID` mediumint(8) unsigned NOT NULL default '0',
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(9) NOT NULL,
+ `actor` varchar(30) NOT NULL default '',
+ `action` varchar(30) NOT NULL default '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `action` (`objectID`,`product`,`project`,`action`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_block`;
+CREATE TABLE IF NOT EXISTS `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
+ KEY `block` (`account`,`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_branch`;
+CREATE TABLE IF NOT EXISTS `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_bug`;
+CREATE TABLE IF NOT EXISTS `zt_bug` (
+ `id` mediumint(8) NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `plan` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `toTask` mediumint(8) unsigned NOT NULL default '0',
+ `toStory` mediumint(8) NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL default '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `os` varchar(30) NOT NULL default '',
+ `browser` varchar(30) NOT NULL default '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL default '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL default 'active',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL default '0',
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL default '',
+ `resolution` varchar(30) NOT NULL default '',
+ `resolvedBuild` varchar(30) NOT NULL default '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL default '1',
+ `result` mediumint(8) unsigned NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `bug` (`product`,`module`,`project`,`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_build`;
+CREATE TABLE IF NOT EXISTS `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `build` (`product`,`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_burn`;
+CREATE TABLE IF NOT EXISTS `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_case`;
+CREATE TABLE IF NOT EXISTS `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `lib` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `path` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(30) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `type` char(30) NOT NULL default '1',
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL default '1',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL default '1',
+ `order` tinyint(30) unsigned NOT NULL default '0',
+ `openedBy` char(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`product`,`module`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_casestep`;
+CREATE TABLE IF NOT EXISTS `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(3) unsigned NOT NULL default '0',
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_company`;
+CREATE TABLE IF NOT EXISTS `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(120) default NULL,
+ `phone` char(20) default NULL,
+ `fax` char(20) default NULL,
+ `address` char(120) default NULL,
+ `zipcode` char(10) default NULL,
+ `website` char(120) default NULL,
+ `backyard` char(120) default NULL,
+ `guest` enum('1','0') NOT NULL default '0',
+ `admins` char(255) default NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_config`;
+CREATE TABLE IF NOT EXISTS `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `owner` char(30) NOT NULL default '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL default '',
+ `key` char(30) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_cron`;
+CREATE TABLE IF NOT EXISTS `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT '0',
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_lang`;
+CREATE TABLE IF NOT EXISTS `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_dept`;
+CREATE TABLE IF NOT EXISTS `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` tinyint(3) unsigned NOT NULL default '0',
+ `position` char(30) NOT NULL default '',
+ `function` char(255) NOT NULL default '',
+ `manager` char(30) NOT NULL default '',
+ PRIMARY KEY (`id`),
+ KEY `dept` (`parent`,`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doc`;
+CREATE TABLE IF NOT EXISTS `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `collector` text NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `doc` (`product`,`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doccontent`;
+CREATE TABLE IF NOT EXISTS `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doclib`;
+CREATE TABLE IF NOT EXISTS `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL default '0',
+ `collector` text NOT NULL,
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_effort`;
+CREATE TABLE IF NOT EXISTS `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `user` char(30) NOT NULL default '',
+ `todo` enum('1','0') NOT NULL default '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL default '0000-00-00 00:00:00',
+ `end` datetime NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL default '1',
+ `idvalue` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `status` enum('1','2','3') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_extension`;
+CREATE TABLE IF NOT EXISTS `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL default 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `extension` (`name`,`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_file`;
+CREATE TABLE IF NOT EXISTS `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `pathname` char(50) NOT NULL,
+ `title` char(90) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL default '0',
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL default '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL default '0',
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `file` (`objectType`,`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_group`;
+CREATE TABLE IF NOT EXISTS `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `acl` text,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_grouppriv`;
+CREATE TABLE IF NOT EXISTS `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ `module` char(30) NOT NULL default '',
+ `method` char(30) NOT NULL default '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_history`;
+CREATE TABLE IF NOT EXISTS `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `action` mediumint(8) unsigned NOT NULL default '0',
+ `field` varchar(30) NOT NULL default '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_mailqueue`;
+CREATE TABLE IF NOT EXISTS `zt_mailqueue` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `toList` varchar(255) NOT NULL,
+ `ccList` varchar(255) NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `body` text NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `sendTime` (`sendTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_module`;
+CREATE TABLE IF NOT EXISTS `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(60) NOT NULL default '',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` smallint(5) unsigned NOT NULL default '0',
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `collector` text NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `module` (`root`,`type`,`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_notify`;
+CREATE TABLE IF NOT EXISTS `zt_notify` (
+ `id` mediumint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint unsigned NOT NULL,
+ `action` mediumint NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL
+) ENGINE='MyISAM' COLLATE 'utf8_general_ci';
+-- DROP TABLE IF EXISTS `zt_product`;
+CREATE TABLE IF NOT EXISTS `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL default 'normal',
+ `status` varchar(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_productplan`;
+CREATE TABLE IF NOT EXISTS `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `plan` (`product`,`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_project`;
+CREATE TABLE IF NOT EXISTS `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `isCat` enum('1','0') NOT NULL default '0',
+ `catID` mediumint(8) unsigned NOT NULL,
+ `type` varchar(20) NOT NULL default 'sprint',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `statge` enum('1','2','3','4','5') NOT NULL default '1',
+ `pri` enum('1','2','3','4') NOT NULL default '1',
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL default '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL default '',
+ `PM` varchar(30) NOT NULL default '',
+ `QD` varchar(30) NOT NULL default '',
+ `RD` varchar(30) NOT NULL default '',
+ `team` varchar(90) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `project` (`parent`,`begin`,`end`,`status`,`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectproduct`;
+CREATE TABLE IF NOT EXISTS `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectstory`;
+CREATE TABLE IF NOT EXISTS `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(6) NOT NULL default '1',
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_release`;
+CREATE TABLE IF NOT EXISTS `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` char(30) NOT NULL default '',
+ `marker` enum('0','1') NOT NULL default '0',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `status` varchar(20) NOT NULL default 'normal',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_story`;
+CREATE TABLE IF NOT EXISTS `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `plan` text,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL default '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(9) NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL default '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `story` (`product`,`module`,`status`,`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storyspec`;
+CREATE TABLE IF NOT EXISTS `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storystage`;
+CREATE TABLE IF NOT EXISTS `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_suitecase`;
+CREATE TABLE IF NOT EXISTS `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_task`;
+CREATE TABLE IF NOT EXISTS `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) NOT NULL DEFAULT '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
+ `color` char(7) NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` date NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `task` (`project`,`module`,`story`,`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_taskestimate`;
+CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL default '0',
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL default '',
+ `work` text,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_team`;
+CREATE TABLE IF NOT EXISTS `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `type` enum('project','task') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL default '',
+ `role` char(30) NOT NULL default '',
+ `limited` char(8) NOT NULL default 'no',
+ `join` date NOT NULL default '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(2,1) unsigned NOT NULL default '0',
+ `estimate` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `consumed` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `left` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `order` TINYINT(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testreport`;
+CREATE TABLE IF NOT EXISTS `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testresult`;
+CREATE TABLE IF NOT EXISTS `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `testresult` (`case`,`version`, `run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testrun`;
+CREATE TABLE IF NOT EXISTS `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `assignedTo` char(30) NOT NULL default '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testsuite`;
+CREATE TABLE IF NOT EXISTS `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testtask`;
+CREATE TABLE IF NOT EXISTS `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(90) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `build` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_todo`;
+CREATE TABLE IF NOT EXISTS `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `todo` (`account`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_user`;
+CREATE TABLE IF NOT EXISTS `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `dept` mediumint(8) unsigned NOT NULL default '0',
+ `account` char(30) NOT NULL default '',
+ `password` char(32) NOT NULL default '',
+ `role` char(10) NOT NULL default '',
+ `realname` varchar(100) NOT NULL default '',
+ `nickname` char(60) NOT NULL default '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` char(30) NOT NULL default '',
+ `birthday` date NOT NULL default '0000-00-00',
+ `gender` enum('f','m') NOT NULL default 'f',
+ `email` char(90) NOT NULL default '',
+ `skype` char(90) NOT NULL default '',
+ `qq` char(20) NOT NULL default '',
+ `yahoo` char(90) NOT NULL default '',
+ `gtalk` char(90) NOT NULL default '',
+ `wangwang` char(90) NOT NULL default '',
+ `mobile` char(11) NOT NULL default '',
+ `phone` char(20) NOT NULL default '',
+ `address` char(120) NOT NULL default '',
+ `zipcode` char(10) NOT NULL default '',
+ `join` date NOT NULL default '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL default '0',
+ `ip` char(15) NOT NULL default '',
+ `last` int(10) unsigned NOT NULL default '0',
+ `fails` tinyint(5) NOT NULL default '0',
+ `locked` datetime NOT NULL default '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL default '',
+ `score` INT(11) NOT NULL DEFAULT '0',
+ `scoreLevel` INT(11) NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `user` (`dept`,`email`,`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usercontact`;
+CREATE TABLE IF NOT EXISTS `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usergroup`;
+CREATE TABLE IF NOT EXISTS `zt_usergroup` (
+ `account` char(30) NOT NULL default '',
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userquery`;
+CREATE TABLE IF NOT EXISTS `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `query` (`account`, `module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usertpl`;
+CREATE TABLE IF NOT EXISTS `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_entry`;
+CREATE TABLE IF NOT EXISTS `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY `id` (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhook`;
+CREATE TABLE IF NOT EXISTS `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(10) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhookdatas`;
+CREATE TABLE IF NOT EXISTS `zt_webhookdatas` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `webhook` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `data` text NOT NULL,
+ `status` enum('wait', 'sended') NOT NULL DEFAULT 'wait',
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ UNIQUE KEY `uniq` (`webhook`, `action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_log`;
+CREATE TABLE IF NOT EXISTS `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_score`;
+CREATE TABLE `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT '0',
+ `score` int(11) NOT NULL DEFAULT '0',
+ `after` int(11) NOT NULL DEFAULT '0',
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/db/standard/zentao10.0.sql b/db/standard/zentao10.0.sql
new file mode 100644
index 0000000000..64cb8b4c96
--- /dev/null
+++ b/db/standard/zentao10.0.sql
@@ -0,0 +1,928 @@
+-- DROP TABLE IF EXISTS `zt_action`;
+CREATE TABLE IF NOT EXISTS `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `objectType` varchar(30) NOT NULL default '',
+ `objectID` mediumint(8) unsigned NOT NULL default '0',
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(9) NOT NULL,
+ `actor` varchar(30) NOT NULL default '',
+ `action` varchar(30) NOT NULL default '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `action` (`objectID`,`product`,`project`,`action`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_block`;
+CREATE TABLE IF NOT EXISTS `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
+ KEY `block` (`account`,`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_branch`;
+CREATE TABLE IF NOT EXISTS `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_bug`;
+CREATE TABLE IF NOT EXISTS `zt_bug` (
+ `id` mediumint(8) NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `plan` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `toTask` mediumint(8) unsigned NOT NULL default '0',
+ `toStory` mediumint(8) NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL default '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `os` varchar(30) NOT NULL default '',
+ `browser` varchar(30) NOT NULL default '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL default '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL default 'active',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL default '0',
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL default '',
+ `resolution` varchar(30) NOT NULL default '',
+ `resolvedBuild` varchar(30) NOT NULL default '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL default '1',
+ `result` mediumint(8) unsigned NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `bug` (`product`,`module`,`project`,`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_build`;
+CREATE TABLE IF NOT EXISTS `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `build` (`product`,`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_burn`;
+CREATE TABLE IF NOT EXISTS `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_case`;
+CREATE TABLE IF NOT EXISTS `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `lib` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `path` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(30) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `type` char(30) NOT NULL default '1',
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL default '1',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL default '1',
+ `order` tinyint(30) unsigned NOT NULL default '0',
+ `openedBy` char(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`product`,`module`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_casestep`;
+CREATE TABLE IF NOT EXISTS `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(3) unsigned NOT NULL default '0',
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_company`;
+CREATE TABLE IF NOT EXISTS `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(120) default NULL,
+ `phone` char(20) default NULL,
+ `fax` char(20) default NULL,
+ `address` char(120) default NULL,
+ `zipcode` char(10) default NULL,
+ `website` char(120) default NULL,
+ `backyard` char(120) default NULL,
+ `guest` enum('1','0') NOT NULL default '0',
+ `admins` char(255) default NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_config`;
+CREATE TABLE IF NOT EXISTS `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `owner` char(30) NOT NULL default '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL default '',
+ `key` char(30) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_cron`;
+CREATE TABLE IF NOT EXISTS `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT '0',
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_lang`;
+CREATE TABLE IF NOT EXISTS `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_dept`;
+CREATE TABLE IF NOT EXISTS `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` tinyint(3) unsigned NOT NULL default '0',
+ `position` char(30) NOT NULL default '',
+ `function` char(255) NOT NULL default '',
+ `manager` char(30) NOT NULL default '',
+ PRIMARY KEY (`id`),
+ KEY `dept` (`parent`,`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doc`;
+CREATE TABLE IF NOT EXISTS `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `collector` text NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `doc` (`product`,`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doccontent`;
+CREATE TABLE IF NOT EXISTS `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doclib`;
+CREATE TABLE IF NOT EXISTS `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL default '0',
+ `collector` text NOT NULL,
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_effort`;
+CREATE TABLE IF NOT EXISTS `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `user` char(30) NOT NULL default '',
+ `todo` enum('1','0') NOT NULL default '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL default '0000-00-00 00:00:00',
+ `end` datetime NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL default '1',
+ `idvalue` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `status` enum('1','2','3') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_extension`;
+CREATE TABLE IF NOT EXISTS `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL default 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `extension` (`name`,`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_file`;
+CREATE TABLE IF NOT EXISTS `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `pathname` char(50) NOT NULL,
+ `title` char(90) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL default '0',
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL default '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL default '0',
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `file` (`objectType`,`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_group`;
+CREATE TABLE IF NOT EXISTS `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `acl` text,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_grouppriv`;
+CREATE TABLE IF NOT EXISTS `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ `module` char(30) NOT NULL default '',
+ `method` char(30) NOT NULL default '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_history`;
+CREATE TABLE IF NOT EXISTS `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `action` mediumint(8) unsigned NOT NULL default '0',
+ `field` varchar(30) NOT NULL default '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_mailqueue`;
+CREATE TABLE IF NOT EXISTS `zt_mailqueue` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `toList` varchar(255) NOT NULL,
+ `ccList` varchar(255) NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `body` text NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `sendTime` (`sendTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_module`;
+CREATE TABLE IF NOT EXISTS `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(60) NOT NULL default '',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` smallint(5) unsigned NOT NULL default '0',
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `collector` text NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `module` (`root`,`type`,`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_notify`;
+CREATE TABLE IF NOT EXISTS `zt_notify` (
+ `id` mediumint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint unsigned NOT NULL,
+ `action` mediumint NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL
+) ENGINE='MyISAM' COLLATE 'utf8_general_ci';
+-- DROP TABLE IF EXISTS `zt_product`;
+CREATE TABLE IF NOT EXISTS `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL default 'normal',
+ `status` varchar(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_productplan`;
+CREATE TABLE IF NOT EXISTS `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `plan` (`product`,`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_project`;
+CREATE TABLE IF NOT EXISTS `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `isCat` enum('1','0') NOT NULL default '0',
+ `catID` mediumint(8) unsigned NOT NULL,
+ `type` varchar(20) NOT NULL default 'sprint',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `statge` enum('1','2','3','4','5') NOT NULL default '1',
+ `pri` enum('1','2','3','4') NOT NULL default '1',
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL default '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL default '',
+ `PM` varchar(30) NOT NULL default '',
+ `QD` varchar(30) NOT NULL default '',
+ `RD` varchar(30) NOT NULL default '',
+ `team` varchar(90) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `project` (`parent`,`begin`,`end`,`status`,`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectproduct`;
+CREATE TABLE IF NOT EXISTS `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectstory`;
+CREATE TABLE IF NOT EXISTS `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(6) NOT NULL default '1',
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_release`;
+CREATE TABLE IF NOT EXISTS `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` char(30) NOT NULL default '',
+ `marker` enum('0','1') NOT NULL default '0',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `status` varchar(20) NOT NULL default 'normal',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_story`;
+CREATE TABLE IF NOT EXISTS `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `plan` text,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL default '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(9) NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL default '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `story` (`product`,`module`,`status`,`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storyspec`;
+CREATE TABLE IF NOT EXISTS `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storystage`;
+CREATE TABLE IF NOT EXISTS `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_suitecase`;
+CREATE TABLE IF NOT EXISTS `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_task`;
+CREATE TABLE IF NOT EXISTS `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) NOT NULL DEFAULT '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
+ `color` char(7) NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` date NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `task` (`project`,`module`,`story`,`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_taskestimate`;
+CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL default '0',
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL default '',
+ `work` text,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_team`;
+CREATE TABLE IF NOT EXISTS `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `type` enum('project','task') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL default '',
+ `role` char(30) NOT NULL default '',
+ `limited` char(8) NOT NULL default 'no',
+ `join` date NOT NULL default '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(2,1) unsigned NOT NULL default '0',
+ `estimate` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `consumed` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `left` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `order` TINYINT(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testreport`;
+CREATE TABLE IF NOT EXISTS `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testresult`;
+CREATE TABLE IF NOT EXISTS `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `testresult` (`case`,`version`, `run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testrun`;
+CREATE TABLE IF NOT EXISTS `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `assignedTo` char(30) NOT NULL default '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testsuite`;
+CREATE TABLE IF NOT EXISTS `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testtask`;
+CREATE TABLE IF NOT EXISTS `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(90) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `build` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_todo`;
+CREATE TABLE IF NOT EXISTS `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `todo` (`account`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_user`;
+CREATE TABLE IF NOT EXISTS `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `dept` mediumint(8) unsigned NOT NULL default '0',
+ `account` char(30) NOT NULL default '',
+ `password` char(32) NOT NULL default '',
+ `role` char(10) NOT NULL default '',
+ `realname` varchar(100) NOT NULL default '',
+ `nickname` char(60) NOT NULL default '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` char(30) NOT NULL default '',
+ `birthday` date NOT NULL default '0000-00-00',
+ `gender` enum('f','m') NOT NULL default 'f',
+ `email` char(90) NOT NULL default '',
+ `skype` char(90) NOT NULL default '',
+ `qq` char(20) NOT NULL default '',
+ `yahoo` char(90) NOT NULL default '',
+ `gtalk` char(90) NOT NULL default '',
+ `wangwang` char(90) NOT NULL default '',
+ `mobile` char(11) NOT NULL default '',
+ `phone` char(20) NOT NULL default '',
+ `address` char(120) NOT NULL default '',
+ `zipcode` char(10) NOT NULL default '',
+ `join` date NOT NULL default '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL default '0',
+ `ip` char(15) NOT NULL default '',
+ `last` int(10) unsigned NOT NULL default '0',
+ `fails` tinyint(5) NOT NULL default '0',
+ `locked` datetime NOT NULL default '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL default '',
+ `score` INT(11) NOT NULL DEFAULT '0',
+ `scoreLevel` INT(11) NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `user` (`dept`,`email`,`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usercontact`;
+CREATE TABLE IF NOT EXISTS `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usergroup`;
+CREATE TABLE IF NOT EXISTS `zt_usergroup` (
+ `account` char(30) NOT NULL default '',
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userquery`;
+CREATE TABLE IF NOT EXISTS `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ `shortcut` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `query` (`account`, `module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usertpl`;
+CREATE TABLE IF NOT EXISTS `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_entry`;
+CREATE TABLE IF NOT EXISTS `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY `id` (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhook`;
+CREATE TABLE IF NOT EXISTS `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(10) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhookdatas`;
+CREATE TABLE IF NOT EXISTS `zt_webhookdatas` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `webhook` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `data` text NOT NULL,
+ `status` enum('wait', 'sended') NOT NULL DEFAULT 'wait',
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ UNIQUE KEY `uniq` (`webhook`, `action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_log`;
+CREATE TABLE IF NOT EXISTS `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_score`;
+CREATE TABLE IF NOT EXISTS `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT '0',
+ `score` int(11) NOT NULL DEFAULT '0',
+ `after` int(11) NOT NULL DEFAULT '0',
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/db/standard/zentao10.1.sql b/db/standard/zentao10.1.sql
new file mode 100644
index 0000000000..8400b782f7
--- /dev/null
+++ b/db/standard/zentao10.1.sql
@@ -0,0 +1,1018 @@
+-- DROP TABLE IF EXISTS `zt_action`;
+CREATE TABLE IF NOT EXISTS `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `objectType` varchar(30) NOT NULL default '',
+ `objectID` mediumint(8) unsigned NOT NULL default '0',
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(9) NOT NULL,
+ `actor` varchar(30) NOT NULL default '',
+ `action` varchar(30) NOT NULL default '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `date` (`date`),
+ KEY `actor` (`actor`),
+ KEY `project` (`project`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_block`;
+CREATE TABLE IF NOT EXISTS `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_branch`;
+CREATE TABLE IF NOT EXISTS `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_bug`;
+CREATE TABLE IF NOT EXISTS `zt_bug` (
+ `id` mediumint(8) NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `plan` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `toTask` mediumint(8) unsigned NOT NULL default '0',
+ `toStory` mediumint(8) NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL default '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `os` varchar(30) NOT NULL default '',
+ `browser` varchar(30) NOT NULL default '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL default '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL default 'active',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL default '0',
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL default '',
+ `resolution` varchar(30) NOT NULL default '',
+ `resolvedBuild` varchar(30) NOT NULL default '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL default '1',
+ `result` mediumint(8) unsigned NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `status` (`status`),
+ KEY `plan` (`plan`),
+ KEY `story` (`story`),
+ KEY `case` (`case`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_build`;
+CREATE TABLE IF NOT EXISTS `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_burn`;
+CREATE TABLE IF NOT EXISTS `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_case`;
+CREATE TABLE IF NOT EXISTS `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `lib` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `path` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(30) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `type` char(30) NOT NULL default '1',
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL default '1',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL default '1',
+ `order` tinyint(30) unsigned NOT NULL default '0',
+ `openedBy` char(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `story` (`story`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_casestep`;
+CREATE TABLE IF NOT EXISTS `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(3) unsigned NOT NULL default '0',
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_company`;
+CREATE TABLE IF NOT EXISTS `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(120) default NULL,
+ `phone` char(20) default NULL,
+ `fax` char(20) default NULL,
+ `address` char(120) default NULL,
+ `zipcode` char(10) default NULL,
+ `website` char(120) default NULL,
+ `backyard` char(120) default NULL,
+ `guest` enum('1','0') NOT NULL default '0',
+ `admins` char(255) default NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_config`;
+CREATE TABLE IF NOT EXISTS `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `owner` char(30) NOT NULL default '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL default '',
+ `key` char(30) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_cron`;
+CREATE TABLE IF NOT EXISTS `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT '0',
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_lang`;
+CREATE TABLE IF NOT EXISTS `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_dept`;
+CREATE TABLE IF NOT EXISTS `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` tinyint(3) unsigned NOT NULL default '0',
+ `position` char(30) NOT NULL default '',
+ `function` char(255) NOT NULL default '',
+ `manager` char(30) NOT NULL default '',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doc`;
+CREATE TABLE IF NOT EXISTS `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `collector` text NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `lib` (`lib`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doccontent`;
+CREATE TABLE IF NOT EXISTS `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doclib`;
+CREATE TABLE IF NOT EXISTS `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL default '0',
+ `collector` text NOT NULL,
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_effort`;
+CREATE TABLE IF NOT EXISTS `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `user` char(30) NOT NULL default '',
+ `todo` enum('1','0') NOT NULL default '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL default '0000-00-00 00:00:00',
+ `end` datetime NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL default '1',
+ `idvalue` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `status` enum('1','2','3') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_extension`;
+CREATE TABLE IF NOT EXISTS `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL default 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `name` (`name`),
+ KEY `installedTime` (`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_file`;
+CREATE TABLE IF NOT EXISTS `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `pathname` char(100) NOT NULL,
+ `title` char(90) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL default '0',
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL default '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL default '0',
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_group`;
+CREATE TABLE IF NOT EXISTS `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `acl` text,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_grouppriv`;
+CREATE TABLE IF NOT EXISTS `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ `module` char(30) NOT NULL default '',
+ `method` char(30) NOT NULL default '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_history`;
+CREATE TABLE IF NOT EXISTS `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `action` mediumint(8) unsigned NOT NULL default '0',
+ `field` varchar(30) NOT NULL default '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_module`;
+CREATE TABLE IF NOT EXISTS `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(60) NOT NULL default '',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` smallint(5) unsigned NOT NULL default '0',
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `collector` text NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `root` (`root`),
+ KEY `type` (`type`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_notify`;
+CREATE TABLE IF NOT EXISTS `zt_notify` (
+ `id` mediumint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint unsigned NOT NULL,
+ `action` mediumint NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL
+) ENGINE='MyISAM' COLLATE 'utf8_general_ci';
+-- DROP TABLE IF EXISTS `zt_product`;
+CREATE TABLE IF NOT EXISTS `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL default 'normal',
+ `status` varchar(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_productplan`;
+CREATE TABLE IF NOT EXISTS `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `end` (`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_project`;
+CREATE TABLE IF NOT EXISTS `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `isCat` enum('1','0') NOT NULL default '0',
+ `catID` mediumint(8) unsigned NOT NULL,
+ `type` varchar(20) NOT NULL default 'sprint',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `statge` enum('1','2','3','4','5') NOT NULL default '1',
+ `pri` enum('1','2','3','4') NOT NULL default '1',
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL default '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL default '',
+ `PM` varchar(30) NOT NULL default '',
+ `QD` varchar(30) NOT NULL default '',
+ `RD` varchar(30) NOT NULL default '',
+ `team` varchar(90) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `begin` (`begin`),
+ KEY `end` (`end`),
+ KEY `status` (`status`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectproduct`;
+CREATE TABLE IF NOT EXISTS `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectstory`;
+CREATE TABLE IF NOT EXISTS `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(6) NOT NULL default '1',
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_release`;
+CREATE TABLE IF NOT EXISTS `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` char(30) NOT NULL default '',
+ `marker` enum('0','1') NOT NULL default '0',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `status` varchar(20) NOT NULL default 'normal',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_story`;
+CREATE TABLE IF NOT EXISTS `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `plan` text,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL default '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(9) NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL default '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `status` (`status`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storyspec`;
+CREATE TABLE IF NOT EXISTS `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storystage`;
+CREATE TABLE IF NOT EXISTS `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_suitecase`;
+CREATE TABLE IF NOT EXISTS `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_task`;
+CREATE TABLE IF NOT EXISTS `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) NOT NULL DEFAULT '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
+ `color` char(7) NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` date NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `project` (`project`),
+ KEY `story` (`story`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_taskestimate`;
+CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL default '0',
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL default '',
+ `work` text,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_team`;
+CREATE TABLE IF NOT EXISTS `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `type` enum('project','task') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL default '',
+ `role` char(30) NOT NULL default '',
+ `limited` char(8) NOT NULL default 'no',
+ `join` date NOT NULL default '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(2,1) unsigned NOT NULL default '0',
+ `estimate` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `consumed` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `left` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `order` TINYINT(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testreport`;
+CREATE TABLE IF NOT EXISTS `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testresult`;
+CREATE TABLE IF NOT EXISTS `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`),
+ KEY `run` (`run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testrun`;
+CREATE TABLE IF NOT EXISTS `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `assignedTo` char(30) NOT NULL default '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testsuite`;
+CREATE TABLE IF NOT EXISTS `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testtask`;
+CREATE TABLE IF NOT EXISTS `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(90) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `build` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_todo`;
+CREATE TABLE IF NOT EXISTS `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `assignedTo` (`assignedTo`),
+ KEY `finishedBy` (`finishedBy`),
+ KEY `date` (`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_user`;
+CREATE TABLE IF NOT EXISTS `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `dept` mediumint(8) unsigned NOT NULL default '0',
+ `account` char(30) NOT NULL default '',
+ `password` char(32) NOT NULL default '',
+ `role` char(10) NOT NULL default '',
+ `realname` varchar(100) NOT NULL default '',
+ `nickname` char(60) NOT NULL default '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` char(30) NOT NULL default '',
+ `birthday` date NOT NULL default '0000-00-00',
+ `gender` enum('f','m') NOT NULL default 'f',
+ `email` char(90) NOT NULL default '',
+ `skype` char(90) NOT NULL default '',
+ `qq` char(20) NOT NULL default '',
+ `yahoo` char(90) NOT NULL default '',
+ `gtalk` char(90) NOT NULL default '',
+ `wangwang` char(90) NOT NULL default '',
+ `mobile` char(11) NOT NULL default '',
+ `phone` char(20) NOT NULL default '',
+ `address` char(120) NOT NULL default '',
+ `zipcode` char(10) NOT NULL default '',
+ `join` date NOT NULL default '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL default '0',
+ `ip` char(15) NOT NULL default '',
+ `last` int(10) unsigned NOT NULL default '0',
+ `fails` tinyint(5) NOT NULL default '0',
+ `locked` datetime NOT NULL default '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL default '',
+ `score` INT(11) NOT NULL DEFAULT '0',
+ `scoreLevel` INT(11) NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL default '0',
+ `status` enum('online', 'away', 'busy', 'offline') NOT NULL DEFAULT 'offline',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usercontact`;
+CREATE TABLE IF NOT EXISTS `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usergroup`;
+CREATE TABLE IF NOT EXISTS `zt_usergroup` (
+ `account` char(30) NOT NULL default '',
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userquery`;
+CREATE TABLE IF NOT EXISTS `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ `shortcut` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usertpl`;
+CREATE TABLE IF NOT EXISTS `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_entry`;
+CREATE TABLE IF NOT EXISTS `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY `id` (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhook`;
+CREATE TABLE IF NOT EXISTS `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(10) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `domain` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_log`;
+CREATE TABLE IF NOT EXISTS `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_score`;
+CREATE TABLE `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT '0',
+ `score` int(11) NOT NULL DEFAULT '0',
+ `after` int(11) NOT NULL DEFAULT '0',
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chat`;
+CREATE TABLE IF NOT EXISTS `zt_im_chat` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `name` varchar(60) NOT NULL DEFAULT '',
+ `type` varchar(20) NOT NULL DEFAULT 'group',
+ `admins` varchar(255) NOT NULL DEFAULT '',
+ `committers` varchar(255) NOT NULL DEFAULT '',
+ `subject` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ `createdBy` varchar(30) NOT NULL DEFAULT '',
+ `createdDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `editedBy` varchar(30) NOT NULL DEFAULT '',
+ `editedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `lastActiveTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `dismissDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `gid` (`gid`),
+ KEY `name` (`name`),
+ KEY `type` (`type`),
+ KEY `public` (`public`),
+ KEY `createdBy` (`createdBy`),
+ KEY `editedBy` (`editedBy`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_message`;
+CREATE TABLE IF NOT EXISTS `zt_im_message` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` varchar(30) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `order` bigint(8) unsigned NOT NULL,
+ `type` enum('normal', 'broadcast', 'notify') NOT NULL DEFAULT 'normal',
+ `content` text NOT NULL DEFAULT '',
+ `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object') NOT NULL DEFAULT 'text',
+ `data` text NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `mgid` (`gid`),
+ KEY `mcgid` (`cgid`),
+ KEY `muser` (`user`),
+ KEY `mtype` (`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chatuser`;
+CREATE TABLE IF NOT EXISTS `zt_im_chatuser`(
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `order` smallint(5) NOT NULL DEFAULT 0,
+ `star` enum('0', '1') NOT NULL DEFAULT '0',
+ `hide` enum('0', '1') NOT NULL DEFAULT '0',
+ `mute` enum('0', '1') NOT NULL DEFAULT '0',
+ `join` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `quit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `category` varchar(40) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `cgid` (`cgid`),
+ KEY `user` (`user`),
+ KEY `order` (`order`),
+ KEY `star` (`star`),
+ KEY `hide` (`hide`),
+ UNIQUE KEY `chatuser` (`cgid`, `user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_messagestatus`;
+CREATE TABLE `zt_im_messagestatus` (
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `status` enum('waiting','sent','readed','deleted') NOT NULL DEFAULT 'waiting',
+ UNIQUE KEY `user` (`user`,`gid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/db/standard/zentao10.2.sql b/db/standard/zentao10.2.sql
new file mode 100644
index 0000000000..8400b782f7
--- /dev/null
+++ b/db/standard/zentao10.2.sql
@@ -0,0 +1,1018 @@
+-- DROP TABLE IF EXISTS `zt_action`;
+CREATE TABLE IF NOT EXISTS `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `objectType` varchar(30) NOT NULL default '',
+ `objectID` mediumint(8) unsigned NOT NULL default '0',
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(9) NOT NULL,
+ `actor` varchar(30) NOT NULL default '',
+ `action` varchar(30) NOT NULL default '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `date` (`date`),
+ KEY `actor` (`actor`),
+ KEY `project` (`project`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_block`;
+CREATE TABLE IF NOT EXISTS `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_branch`;
+CREATE TABLE IF NOT EXISTS `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_bug`;
+CREATE TABLE IF NOT EXISTS `zt_bug` (
+ `id` mediumint(8) NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `plan` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `toTask` mediumint(8) unsigned NOT NULL default '0',
+ `toStory` mediumint(8) NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL default '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `os` varchar(30) NOT NULL default '',
+ `browser` varchar(30) NOT NULL default '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL default '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL default 'active',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL default '0',
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL default '',
+ `resolution` varchar(30) NOT NULL default '',
+ `resolvedBuild` varchar(30) NOT NULL default '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL default '1',
+ `result` mediumint(8) unsigned NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `status` (`status`),
+ KEY `plan` (`plan`),
+ KEY `story` (`story`),
+ KEY `case` (`case`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_build`;
+CREATE TABLE IF NOT EXISTS `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_burn`;
+CREATE TABLE IF NOT EXISTS `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_case`;
+CREATE TABLE IF NOT EXISTS `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `lib` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `path` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(30) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `type` char(30) NOT NULL default '1',
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL default '1',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL default '1',
+ `order` tinyint(30) unsigned NOT NULL default '0',
+ `openedBy` char(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `story` (`story`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_casestep`;
+CREATE TABLE IF NOT EXISTS `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(3) unsigned NOT NULL default '0',
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_company`;
+CREATE TABLE IF NOT EXISTS `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(120) default NULL,
+ `phone` char(20) default NULL,
+ `fax` char(20) default NULL,
+ `address` char(120) default NULL,
+ `zipcode` char(10) default NULL,
+ `website` char(120) default NULL,
+ `backyard` char(120) default NULL,
+ `guest` enum('1','0') NOT NULL default '0',
+ `admins` char(255) default NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_config`;
+CREATE TABLE IF NOT EXISTS `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `owner` char(30) NOT NULL default '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL default '',
+ `key` char(30) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_cron`;
+CREATE TABLE IF NOT EXISTS `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT '0',
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_lang`;
+CREATE TABLE IF NOT EXISTS `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_dept`;
+CREATE TABLE IF NOT EXISTS `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` tinyint(3) unsigned NOT NULL default '0',
+ `position` char(30) NOT NULL default '',
+ `function` char(255) NOT NULL default '',
+ `manager` char(30) NOT NULL default '',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doc`;
+CREATE TABLE IF NOT EXISTS `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `collector` text NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `lib` (`lib`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doccontent`;
+CREATE TABLE IF NOT EXISTS `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doclib`;
+CREATE TABLE IF NOT EXISTS `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL default '0',
+ `collector` text NOT NULL,
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_effort`;
+CREATE TABLE IF NOT EXISTS `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `user` char(30) NOT NULL default '',
+ `todo` enum('1','0') NOT NULL default '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL default '0000-00-00 00:00:00',
+ `end` datetime NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL default '1',
+ `idvalue` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `status` enum('1','2','3') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_extension`;
+CREATE TABLE IF NOT EXISTS `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL default 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `name` (`name`),
+ KEY `installedTime` (`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_file`;
+CREATE TABLE IF NOT EXISTS `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `pathname` char(100) NOT NULL,
+ `title` char(90) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL default '0',
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL default '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL default '0',
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_group`;
+CREATE TABLE IF NOT EXISTS `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `acl` text,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_grouppriv`;
+CREATE TABLE IF NOT EXISTS `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ `module` char(30) NOT NULL default '',
+ `method` char(30) NOT NULL default '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_history`;
+CREATE TABLE IF NOT EXISTS `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `action` mediumint(8) unsigned NOT NULL default '0',
+ `field` varchar(30) NOT NULL default '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_module`;
+CREATE TABLE IF NOT EXISTS `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(60) NOT NULL default '',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` smallint(5) unsigned NOT NULL default '0',
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `collector` text NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `root` (`root`),
+ KEY `type` (`type`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_notify`;
+CREATE TABLE IF NOT EXISTS `zt_notify` (
+ `id` mediumint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint unsigned NOT NULL,
+ `action` mediumint NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL
+) ENGINE='MyISAM' COLLATE 'utf8_general_ci';
+-- DROP TABLE IF EXISTS `zt_product`;
+CREATE TABLE IF NOT EXISTS `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL default 'normal',
+ `status` varchar(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_productplan`;
+CREATE TABLE IF NOT EXISTS `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `end` (`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_project`;
+CREATE TABLE IF NOT EXISTS `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `isCat` enum('1','0') NOT NULL default '0',
+ `catID` mediumint(8) unsigned NOT NULL,
+ `type` varchar(20) NOT NULL default 'sprint',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `statge` enum('1','2','3','4','5') NOT NULL default '1',
+ `pri` enum('1','2','3','4') NOT NULL default '1',
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL default '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL default '',
+ `PM` varchar(30) NOT NULL default '',
+ `QD` varchar(30) NOT NULL default '',
+ `RD` varchar(30) NOT NULL default '',
+ `team` varchar(90) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `begin` (`begin`),
+ KEY `end` (`end`),
+ KEY `status` (`status`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectproduct`;
+CREATE TABLE IF NOT EXISTS `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectstory`;
+CREATE TABLE IF NOT EXISTS `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(6) NOT NULL default '1',
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_release`;
+CREATE TABLE IF NOT EXISTS `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` char(30) NOT NULL default '',
+ `marker` enum('0','1') NOT NULL default '0',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `status` varchar(20) NOT NULL default 'normal',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_story`;
+CREATE TABLE IF NOT EXISTS `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `plan` text,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL default '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(9) NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL default '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `status` (`status`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storyspec`;
+CREATE TABLE IF NOT EXISTS `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storystage`;
+CREATE TABLE IF NOT EXISTS `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_suitecase`;
+CREATE TABLE IF NOT EXISTS `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_task`;
+CREATE TABLE IF NOT EXISTS `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) NOT NULL DEFAULT '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
+ `color` char(7) NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` date NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `project` (`project`),
+ KEY `story` (`story`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_taskestimate`;
+CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL default '0',
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL default '',
+ `work` text,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_team`;
+CREATE TABLE IF NOT EXISTS `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `type` enum('project','task') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL default '',
+ `role` char(30) NOT NULL default '',
+ `limited` char(8) NOT NULL default 'no',
+ `join` date NOT NULL default '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(2,1) unsigned NOT NULL default '0',
+ `estimate` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `consumed` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `left` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `order` TINYINT(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testreport`;
+CREATE TABLE IF NOT EXISTS `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testresult`;
+CREATE TABLE IF NOT EXISTS `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`),
+ KEY `run` (`run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testrun`;
+CREATE TABLE IF NOT EXISTS `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `assignedTo` char(30) NOT NULL default '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testsuite`;
+CREATE TABLE IF NOT EXISTS `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testtask`;
+CREATE TABLE IF NOT EXISTS `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(90) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `build` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_todo`;
+CREATE TABLE IF NOT EXISTS `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `assignedTo` (`assignedTo`),
+ KEY `finishedBy` (`finishedBy`),
+ KEY `date` (`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_user`;
+CREATE TABLE IF NOT EXISTS `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `dept` mediumint(8) unsigned NOT NULL default '0',
+ `account` char(30) NOT NULL default '',
+ `password` char(32) NOT NULL default '',
+ `role` char(10) NOT NULL default '',
+ `realname` varchar(100) NOT NULL default '',
+ `nickname` char(60) NOT NULL default '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` char(30) NOT NULL default '',
+ `birthday` date NOT NULL default '0000-00-00',
+ `gender` enum('f','m') NOT NULL default 'f',
+ `email` char(90) NOT NULL default '',
+ `skype` char(90) NOT NULL default '',
+ `qq` char(20) NOT NULL default '',
+ `yahoo` char(90) NOT NULL default '',
+ `gtalk` char(90) NOT NULL default '',
+ `wangwang` char(90) NOT NULL default '',
+ `mobile` char(11) NOT NULL default '',
+ `phone` char(20) NOT NULL default '',
+ `address` char(120) NOT NULL default '',
+ `zipcode` char(10) NOT NULL default '',
+ `join` date NOT NULL default '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL default '0',
+ `ip` char(15) NOT NULL default '',
+ `last` int(10) unsigned NOT NULL default '0',
+ `fails` tinyint(5) NOT NULL default '0',
+ `locked` datetime NOT NULL default '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL default '',
+ `score` INT(11) NOT NULL DEFAULT '0',
+ `scoreLevel` INT(11) NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL default '0',
+ `status` enum('online', 'away', 'busy', 'offline') NOT NULL DEFAULT 'offline',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usercontact`;
+CREATE TABLE IF NOT EXISTS `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usergroup`;
+CREATE TABLE IF NOT EXISTS `zt_usergroup` (
+ `account` char(30) NOT NULL default '',
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userquery`;
+CREATE TABLE IF NOT EXISTS `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ `shortcut` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usertpl`;
+CREATE TABLE IF NOT EXISTS `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_entry`;
+CREATE TABLE IF NOT EXISTS `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY `id` (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhook`;
+CREATE TABLE IF NOT EXISTS `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(10) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `domain` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_log`;
+CREATE TABLE IF NOT EXISTS `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_score`;
+CREATE TABLE `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT '0',
+ `score` int(11) NOT NULL DEFAULT '0',
+ `after` int(11) NOT NULL DEFAULT '0',
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chat`;
+CREATE TABLE IF NOT EXISTS `zt_im_chat` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `name` varchar(60) NOT NULL DEFAULT '',
+ `type` varchar(20) NOT NULL DEFAULT 'group',
+ `admins` varchar(255) NOT NULL DEFAULT '',
+ `committers` varchar(255) NOT NULL DEFAULT '',
+ `subject` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ `createdBy` varchar(30) NOT NULL DEFAULT '',
+ `createdDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `editedBy` varchar(30) NOT NULL DEFAULT '',
+ `editedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `lastActiveTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `dismissDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `gid` (`gid`),
+ KEY `name` (`name`),
+ KEY `type` (`type`),
+ KEY `public` (`public`),
+ KEY `createdBy` (`createdBy`),
+ KEY `editedBy` (`editedBy`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_message`;
+CREATE TABLE IF NOT EXISTS `zt_im_message` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` varchar(30) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `order` bigint(8) unsigned NOT NULL,
+ `type` enum('normal', 'broadcast', 'notify') NOT NULL DEFAULT 'normal',
+ `content` text NOT NULL DEFAULT '',
+ `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object') NOT NULL DEFAULT 'text',
+ `data` text NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `mgid` (`gid`),
+ KEY `mcgid` (`cgid`),
+ KEY `muser` (`user`),
+ KEY `mtype` (`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chatuser`;
+CREATE TABLE IF NOT EXISTS `zt_im_chatuser`(
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `order` smallint(5) NOT NULL DEFAULT 0,
+ `star` enum('0', '1') NOT NULL DEFAULT '0',
+ `hide` enum('0', '1') NOT NULL DEFAULT '0',
+ `mute` enum('0', '1') NOT NULL DEFAULT '0',
+ `join` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `quit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `category` varchar(40) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `cgid` (`cgid`),
+ KEY `user` (`user`),
+ KEY `order` (`order`),
+ KEY `star` (`star`),
+ KEY `hide` (`hide`),
+ UNIQUE KEY `chatuser` (`cgid`, `user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_messagestatus`;
+CREATE TABLE `zt_im_messagestatus` (
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `status` enum('waiting','sent','readed','deleted') NOT NULL DEFAULT 'waiting',
+ UNIQUE KEY `user` (`user`,`gid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/db/standard/zentao10.3.1.sql b/db/standard/zentao10.3.1.sql
new file mode 100644
index 0000000000..8400b782f7
--- /dev/null
+++ b/db/standard/zentao10.3.1.sql
@@ -0,0 +1,1018 @@
+-- DROP TABLE IF EXISTS `zt_action`;
+CREATE TABLE IF NOT EXISTS `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `objectType` varchar(30) NOT NULL default '',
+ `objectID` mediumint(8) unsigned NOT NULL default '0',
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(9) NOT NULL,
+ `actor` varchar(30) NOT NULL default '',
+ `action` varchar(30) NOT NULL default '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `date` (`date`),
+ KEY `actor` (`actor`),
+ KEY `project` (`project`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_block`;
+CREATE TABLE IF NOT EXISTS `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_branch`;
+CREATE TABLE IF NOT EXISTS `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_bug`;
+CREATE TABLE IF NOT EXISTS `zt_bug` (
+ `id` mediumint(8) NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `plan` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `toTask` mediumint(8) unsigned NOT NULL default '0',
+ `toStory` mediumint(8) NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL default '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `os` varchar(30) NOT NULL default '',
+ `browser` varchar(30) NOT NULL default '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL default '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL default 'active',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL default '0',
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL default '',
+ `resolution` varchar(30) NOT NULL default '',
+ `resolvedBuild` varchar(30) NOT NULL default '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL default '1',
+ `result` mediumint(8) unsigned NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `status` (`status`),
+ KEY `plan` (`plan`),
+ KEY `story` (`story`),
+ KEY `case` (`case`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_build`;
+CREATE TABLE IF NOT EXISTS `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_burn`;
+CREATE TABLE IF NOT EXISTS `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_case`;
+CREATE TABLE IF NOT EXISTS `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `lib` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `path` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(30) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `type` char(30) NOT NULL default '1',
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL default '1',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL default '1',
+ `order` tinyint(30) unsigned NOT NULL default '0',
+ `openedBy` char(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `story` (`story`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_casestep`;
+CREATE TABLE IF NOT EXISTS `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(3) unsigned NOT NULL default '0',
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_company`;
+CREATE TABLE IF NOT EXISTS `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(120) default NULL,
+ `phone` char(20) default NULL,
+ `fax` char(20) default NULL,
+ `address` char(120) default NULL,
+ `zipcode` char(10) default NULL,
+ `website` char(120) default NULL,
+ `backyard` char(120) default NULL,
+ `guest` enum('1','0') NOT NULL default '0',
+ `admins` char(255) default NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_config`;
+CREATE TABLE IF NOT EXISTS `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `owner` char(30) NOT NULL default '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL default '',
+ `key` char(30) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_cron`;
+CREATE TABLE IF NOT EXISTS `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT '0',
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_lang`;
+CREATE TABLE IF NOT EXISTS `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_dept`;
+CREATE TABLE IF NOT EXISTS `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` tinyint(3) unsigned NOT NULL default '0',
+ `position` char(30) NOT NULL default '',
+ `function` char(255) NOT NULL default '',
+ `manager` char(30) NOT NULL default '',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doc`;
+CREATE TABLE IF NOT EXISTS `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `collector` text NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `lib` (`lib`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doccontent`;
+CREATE TABLE IF NOT EXISTS `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doclib`;
+CREATE TABLE IF NOT EXISTS `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL default '0',
+ `collector` text NOT NULL,
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_effort`;
+CREATE TABLE IF NOT EXISTS `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `user` char(30) NOT NULL default '',
+ `todo` enum('1','0') NOT NULL default '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL default '0000-00-00 00:00:00',
+ `end` datetime NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL default '1',
+ `idvalue` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `status` enum('1','2','3') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_extension`;
+CREATE TABLE IF NOT EXISTS `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL default 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `name` (`name`),
+ KEY `installedTime` (`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_file`;
+CREATE TABLE IF NOT EXISTS `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `pathname` char(100) NOT NULL,
+ `title` char(90) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL default '0',
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL default '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL default '0',
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_group`;
+CREATE TABLE IF NOT EXISTS `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `acl` text,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_grouppriv`;
+CREATE TABLE IF NOT EXISTS `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ `module` char(30) NOT NULL default '',
+ `method` char(30) NOT NULL default '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_history`;
+CREATE TABLE IF NOT EXISTS `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `action` mediumint(8) unsigned NOT NULL default '0',
+ `field` varchar(30) NOT NULL default '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_module`;
+CREATE TABLE IF NOT EXISTS `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(60) NOT NULL default '',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` smallint(5) unsigned NOT NULL default '0',
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `collector` text NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `root` (`root`),
+ KEY `type` (`type`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_notify`;
+CREATE TABLE IF NOT EXISTS `zt_notify` (
+ `id` mediumint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint unsigned NOT NULL,
+ `action` mediumint NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL
+) ENGINE='MyISAM' COLLATE 'utf8_general_ci';
+-- DROP TABLE IF EXISTS `zt_product`;
+CREATE TABLE IF NOT EXISTS `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL default 'normal',
+ `status` varchar(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_productplan`;
+CREATE TABLE IF NOT EXISTS `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `end` (`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_project`;
+CREATE TABLE IF NOT EXISTS `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `isCat` enum('1','0') NOT NULL default '0',
+ `catID` mediumint(8) unsigned NOT NULL,
+ `type` varchar(20) NOT NULL default 'sprint',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `statge` enum('1','2','3','4','5') NOT NULL default '1',
+ `pri` enum('1','2','3','4') NOT NULL default '1',
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL default '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL default '',
+ `PM` varchar(30) NOT NULL default '',
+ `QD` varchar(30) NOT NULL default '',
+ `RD` varchar(30) NOT NULL default '',
+ `team` varchar(90) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `begin` (`begin`),
+ KEY `end` (`end`),
+ KEY `status` (`status`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectproduct`;
+CREATE TABLE IF NOT EXISTS `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectstory`;
+CREATE TABLE IF NOT EXISTS `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(6) NOT NULL default '1',
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_release`;
+CREATE TABLE IF NOT EXISTS `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` char(30) NOT NULL default '',
+ `marker` enum('0','1') NOT NULL default '0',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `status` varchar(20) NOT NULL default 'normal',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_story`;
+CREATE TABLE IF NOT EXISTS `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `plan` text,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL default '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(9) NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL default '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `status` (`status`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storyspec`;
+CREATE TABLE IF NOT EXISTS `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storystage`;
+CREATE TABLE IF NOT EXISTS `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_suitecase`;
+CREATE TABLE IF NOT EXISTS `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_task`;
+CREATE TABLE IF NOT EXISTS `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) NOT NULL DEFAULT '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
+ `color` char(7) NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` date NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `project` (`project`),
+ KEY `story` (`story`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_taskestimate`;
+CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL default '0',
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL default '',
+ `work` text,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_team`;
+CREATE TABLE IF NOT EXISTS `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `type` enum('project','task') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL default '',
+ `role` char(30) NOT NULL default '',
+ `limited` char(8) NOT NULL default 'no',
+ `join` date NOT NULL default '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(2,1) unsigned NOT NULL default '0',
+ `estimate` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `consumed` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `left` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `order` TINYINT(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testreport`;
+CREATE TABLE IF NOT EXISTS `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testresult`;
+CREATE TABLE IF NOT EXISTS `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`),
+ KEY `run` (`run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testrun`;
+CREATE TABLE IF NOT EXISTS `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `assignedTo` char(30) NOT NULL default '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testsuite`;
+CREATE TABLE IF NOT EXISTS `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testtask`;
+CREATE TABLE IF NOT EXISTS `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(90) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `build` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_todo`;
+CREATE TABLE IF NOT EXISTS `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `assignedTo` (`assignedTo`),
+ KEY `finishedBy` (`finishedBy`),
+ KEY `date` (`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_user`;
+CREATE TABLE IF NOT EXISTS `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `dept` mediumint(8) unsigned NOT NULL default '0',
+ `account` char(30) NOT NULL default '',
+ `password` char(32) NOT NULL default '',
+ `role` char(10) NOT NULL default '',
+ `realname` varchar(100) NOT NULL default '',
+ `nickname` char(60) NOT NULL default '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` char(30) NOT NULL default '',
+ `birthday` date NOT NULL default '0000-00-00',
+ `gender` enum('f','m') NOT NULL default 'f',
+ `email` char(90) NOT NULL default '',
+ `skype` char(90) NOT NULL default '',
+ `qq` char(20) NOT NULL default '',
+ `yahoo` char(90) NOT NULL default '',
+ `gtalk` char(90) NOT NULL default '',
+ `wangwang` char(90) NOT NULL default '',
+ `mobile` char(11) NOT NULL default '',
+ `phone` char(20) NOT NULL default '',
+ `address` char(120) NOT NULL default '',
+ `zipcode` char(10) NOT NULL default '',
+ `join` date NOT NULL default '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL default '0',
+ `ip` char(15) NOT NULL default '',
+ `last` int(10) unsigned NOT NULL default '0',
+ `fails` tinyint(5) NOT NULL default '0',
+ `locked` datetime NOT NULL default '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL default '',
+ `score` INT(11) NOT NULL DEFAULT '0',
+ `scoreLevel` INT(11) NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL default '0',
+ `status` enum('online', 'away', 'busy', 'offline') NOT NULL DEFAULT 'offline',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usercontact`;
+CREATE TABLE IF NOT EXISTS `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usergroup`;
+CREATE TABLE IF NOT EXISTS `zt_usergroup` (
+ `account` char(30) NOT NULL default '',
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userquery`;
+CREATE TABLE IF NOT EXISTS `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ `shortcut` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usertpl`;
+CREATE TABLE IF NOT EXISTS `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_entry`;
+CREATE TABLE IF NOT EXISTS `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY `id` (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhook`;
+CREATE TABLE IF NOT EXISTS `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(10) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `domain` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_log`;
+CREATE TABLE IF NOT EXISTS `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_score`;
+CREATE TABLE `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT '0',
+ `score` int(11) NOT NULL DEFAULT '0',
+ `after` int(11) NOT NULL DEFAULT '0',
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chat`;
+CREATE TABLE IF NOT EXISTS `zt_im_chat` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `name` varchar(60) NOT NULL DEFAULT '',
+ `type` varchar(20) NOT NULL DEFAULT 'group',
+ `admins` varchar(255) NOT NULL DEFAULT '',
+ `committers` varchar(255) NOT NULL DEFAULT '',
+ `subject` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ `createdBy` varchar(30) NOT NULL DEFAULT '',
+ `createdDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `editedBy` varchar(30) NOT NULL DEFAULT '',
+ `editedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `lastActiveTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `dismissDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `gid` (`gid`),
+ KEY `name` (`name`),
+ KEY `type` (`type`),
+ KEY `public` (`public`),
+ KEY `createdBy` (`createdBy`),
+ KEY `editedBy` (`editedBy`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_message`;
+CREATE TABLE IF NOT EXISTS `zt_im_message` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` varchar(30) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `order` bigint(8) unsigned NOT NULL,
+ `type` enum('normal', 'broadcast', 'notify') NOT NULL DEFAULT 'normal',
+ `content` text NOT NULL DEFAULT '',
+ `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object') NOT NULL DEFAULT 'text',
+ `data` text NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `mgid` (`gid`),
+ KEY `mcgid` (`cgid`),
+ KEY `muser` (`user`),
+ KEY `mtype` (`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chatuser`;
+CREATE TABLE IF NOT EXISTS `zt_im_chatuser`(
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `order` smallint(5) NOT NULL DEFAULT 0,
+ `star` enum('0', '1') NOT NULL DEFAULT '0',
+ `hide` enum('0', '1') NOT NULL DEFAULT '0',
+ `mute` enum('0', '1') NOT NULL DEFAULT '0',
+ `join` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `quit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `category` varchar(40) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `cgid` (`cgid`),
+ KEY `user` (`user`),
+ KEY `order` (`order`),
+ KEY `star` (`star`),
+ KEY `hide` (`hide`),
+ UNIQUE KEY `chatuser` (`cgid`, `user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_messagestatus`;
+CREATE TABLE `zt_im_messagestatus` (
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `status` enum('waiting','sent','readed','deleted') NOT NULL DEFAULT 'waiting',
+ UNIQUE KEY `user` (`user`,`gid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/db/standard/zentao10.3.sql b/db/standard/zentao10.3.sql
new file mode 100644
index 0000000000..8400b782f7
--- /dev/null
+++ b/db/standard/zentao10.3.sql
@@ -0,0 +1,1018 @@
+-- DROP TABLE IF EXISTS `zt_action`;
+CREATE TABLE IF NOT EXISTS `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `objectType` varchar(30) NOT NULL default '',
+ `objectID` mediumint(8) unsigned NOT NULL default '0',
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(9) NOT NULL,
+ `actor` varchar(30) NOT NULL default '',
+ `action` varchar(30) NOT NULL default '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `date` (`date`),
+ KEY `actor` (`actor`),
+ KEY `project` (`project`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_block`;
+CREATE TABLE IF NOT EXISTS `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_branch`;
+CREATE TABLE IF NOT EXISTS `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_bug`;
+CREATE TABLE IF NOT EXISTS `zt_bug` (
+ `id` mediumint(8) NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `plan` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `toTask` mediumint(8) unsigned NOT NULL default '0',
+ `toStory` mediumint(8) NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL default '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `os` varchar(30) NOT NULL default '',
+ `browser` varchar(30) NOT NULL default '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL default '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL default 'active',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL default '0',
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL default '',
+ `resolution` varchar(30) NOT NULL default '',
+ `resolvedBuild` varchar(30) NOT NULL default '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL default '1',
+ `result` mediumint(8) unsigned NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `status` (`status`),
+ KEY `plan` (`plan`),
+ KEY `story` (`story`),
+ KEY `case` (`case`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_build`;
+CREATE TABLE IF NOT EXISTS `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_burn`;
+CREATE TABLE IF NOT EXISTS `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_case`;
+CREATE TABLE IF NOT EXISTS `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `lib` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `path` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(30) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `type` char(30) NOT NULL default '1',
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL default '1',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL default '1',
+ `order` tinyint(30) unsigned NOT NULL default '0',
+ `openedBy` char(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `story` (`story`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_casestep`;
+CREATE TABLE IF NOT EXISTS `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(3) unsigned NOT NULL default '0',
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_company`;
+CREATE TABLE IF NOT EXISTS `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(120) default NULL,
+ `phone` char(20) default NULL,
+ `fax` char(20) default NULL,
+ `address` char(120) default NULL,
+ `zipcode` char(10) default NULL,
+ `website` char(120) default NULL,
+ `backyard` char(120) default NULL,
+ `guest` enum('1','0') NOT NULL default '0',
+ `admins` char(255) default NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_config`;
+CREATE TABLE IF NOT EXISTS `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `owner` char(30) NOT NULL default '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL default '',
+ `key` char(30) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_cron`;
+CREATE TABLE IF NOT EXISTS `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT '0',
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_lang`;
+CREATE TABLE IF NOT EXISTS `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_dept`;
+CREATE TABLE IF NOT EXISTS `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` tinyint(3) unsigned NOT NULL default '0',
+ `position` char(30) NOT NULL default '',
+ `function` char(255) NOT NULL default '',
+ `manager` char(30) NOT NULL default '',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doc`;
+CREATE TABLE IF NOT EXISTS `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `collector` text NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `lib` (`lib`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doccontent`;
+CREATE TABLE IF NOT EXISTS `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doclib`;
+CREATE TABLE IF NOT EXISTS `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL default '0',
+ `collector` text NOT NULL,
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_effort`;
+CREATE TABLE IF NOT EXISTS `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `user` char(30) NOT NULL default '',
+ `todo` enum('1','0') NOT NULL default '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL default '0000-00-00 00:00:00',
+ `end` datetime NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL default '1',
+ `idvalue` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `status` enum('1','2','3') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_extension`;
+CREATE TABLE IF NOT EXISTS `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL default 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `name` (`name`),
+ KEY `installedTime` (`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_file`;
+CREATE TABLE IF NOT EXISTS `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `pathname` char(100) NOT NULL,
+ `title` char(90) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL default '0',
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL default '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL default '0',
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_group`;
+CREATE TABLE IF NOT EXISTS `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `acl` text,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_grouppriv`;
+CREATE TABLE IF NOT EXISTS `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ `module` char(30) NOT NULL default '',
+ `method` char(30) NOT NULL default '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_history`;
+CREATE TABLE IF NOT EXISTS `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `action` mediumint(8) unsigned NOT NULL default '0',
+ `field` varchar(30) NOT NULL default '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_module`;
+CREATE TABLE IF NOT EXISTS `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(60) NOT NULL default '',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` smallint(5) unsigned NOT NULL default '0',
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `collector` text NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `root` (`root`),
+ KEY `type` (`type`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_notify`;
+CREATE TABLE IF NOT EXISTS `zt_notify` (
+ `id` mediumint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint unsigned NOT NULL,
+ `action` mediumint NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL
+) ENGINE='MyISAM' COLLATE 'utf8_general_ci';
+-- DROP TABLE IF EXISTS `zt_product`;
+CREATE TABLE IF NOT EXISTS `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL default 'normal',
+ `status` varchar(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_productplan`;
+CREATE TABLE IF NOT EXISTS `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `end` (`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_project`;
+CREATE TABLE IF NOT EXISTS `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `isCat` enum('1','0') NOT NULL default '0',
+ `catID` mediumint(8) unsigned NOT NULL,
+ `type` varchar(20) NOT NULL default 'sprint',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `statge` enum('1','2','3','4','5') NOT NULL default '1',
+ `pri` enum('1','2','3','4') NOT NULL default '1',
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL default '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL default '',
+ `PM` varchar(30) NOT NULL default '',
+ `QD` varchar(30) NOT NULL default '',
+ `RD` varchar(30) NOT NULL default '',
+ `team` varchar(90) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `begin` (`begin`),
+ KEY `end` (`end`),
+ KEY `status` (`status`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectproduct`;
+CREATE TABLE IF NOT EXISTS `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectstory`;
+CREATE TABLE IF NOT EXISTS `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(6) NOT NULL default '1',
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_release`;
+CREATE TABLE IF NOT EXISTS `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` char(30) NOT NULL default '',
+ `marker` enum('0','1') NOT NULL default '0',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `status` varchar(20) NOT NULL default 'normal',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_story`;
+CREATE TABLE IF NOT EXISTS `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `plan` text,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL default '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(9) NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL default '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `status` (`status`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storyspec`;
+CREATE TABLE IF NOT EXISTS `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storystage`;
+CREATE TABLE IF NOT EXISTS `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_suitecase`;
+CREATE TABLE IF NOT EXISTS `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_task`;
+CREATE TABLE IF NOT EXISTS `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) NOT NULL DEFAULT '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
+ `color` char(7) NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` date NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `project` (`project`),
+ KEY `story` (`story`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_taskestimate`;
+CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL default '0',
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL default '',
+ `work` text,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_team`;
+CREATE TABLE IF NOT EXISTS `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `type` enum('project','task') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL default '',
+ `role` char(30) NOT NULL default '',
+ `limited` char(8) NOT NULL default 'no',
+ `join` date NOT NULL default '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(2,1) unsigned NOT NULL default '0',
+ `estimate` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `consumed` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `left` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `order` TINYINT(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testreport`;
+CREATE TABLE IF NOT EXISTS `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testresult`;
+CREATE TABLE IF NOT EXISTS `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`),
+ KEY `run` (`run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testrun`;
+CREATE TABLE IF NOT EXISTS `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `assignedTo` char(30) NOT NULL default '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testsuite`;
+CREATE TABLE IF NOT EXISTS `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testtask`;
+CREATE TABLE IF NOT EXISTS `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(90) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `build` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_todo`;
+CREATE TABLE IF NOT EXISTS `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `assignedTo` (`assignedTo`),
+ KEY `finishedBy` (`finishedBy`),
+ KEY `date` (`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_user`;
+CREATE TABLE IF NOT EXISTS `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `dept` mediumint(8) unsigned NOT NULL default '0',
+ `account` char(30) NOT NULL default '',
+ `password` char(32) NOT NULL default '',
+ `role` char(10) NOT NULL default '',
+ `realname` varchar(100) NOT NULL default '',
+ `nickname` char(60) NOT NULL default '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` char(30) NOT NULL default '',
+ `birthday` date NOT NULL default '0000-00-00',
+ `gender` enum('f','m') NOT NULL default 'f',
+ `email` char(90) NOT NULL default '',
+ `skype` char(90) NOT NULL default '',
+ `qq` char(20) NOT NULL default '',
+ `yahoo` char(90) NOT NULL default '',
+ `gtalk` char(90) NOT NULL default '',
+ `wangwang` char(90) NOT NULL default '',
+ `mobile` char(11) NOT NULL default '',
+ `phone` char(20) NOT NULL default '',
+ `address` char(120) NOT NULL default '',
+ `zipcode` char(10) NOT NULL default '',
+ `join` date NOT NULL default '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL default '0',
+ `ip` char(15) NOT NULL default '',
+ `last` int(10) unsigned NOT NULL default '0',
+ `fails` tinyint(5) NOT NULL default '0',
+ `locked` datetime NOT NULL default '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL default '',
+ `score` INT(11) NOT NULL DEFAULT '0',
+ `scoreLevel` INT(11) NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL default '0',
+ `status` enum('online', 'away', 'busy', 'offline') NOT NULL DEFAULT 'offline',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usercontact`;
+CREATE TABLE IF NOT EXISTS `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usergroup`;
+CREATE TABLE IF NOT EXISTS `zt_usergroup` (
+ `account` char(30) NOT NULL default '',
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userquery`;
+CREATE TABLE IF NOT EXISTS `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ `shortcut` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usertpl`;
+CREATE TABLE IF NOT EXISTS `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_entry`;
+CREATE TABLE IF NOT EXISTS `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY `id` (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhook`;
+CREATE TABLE IF NOT EXISTS `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(10) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `domain` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_log`;
+CREATE TABLE IF NOT EXISTS `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_score`;
+CREATE TABLE `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT '0',
+ `score` int(11) NOT NULL DEFAULT '0',
+ `after` int(11) NOT NULL DEFAULT '0',
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chat`;
+CREATE TABLE IF NOT EXISTS `zt_im_chat` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `name` varchar(60) NOT NULL DEFAULT '',
+ `type` varchar(20) NOT NULL DEFAULT 'group',
+ `admins` varchar(255) NOT NULL DEFAULT '',
+ `committers` varchar(255) NOT NULL DEFAULT '',
+ `subject` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ `createdBy` varchar(30) NOT NULL DEFAULT '',
+ `createdDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `editedBy` varchar(30) NOT NULL DEFAULT '',
+ `editedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `lastActiveTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `dismissDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `gid` (`gid`),
+ KEY `name` (`name`),
+ KEY `type` (`type`),
+ KEY `public` (`public`),
+ KEY `createdBy` (`createdBy`),
+ KEY `editedBy` (`editedBy`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_message`;
+CREATE TABLE IF NOT EXISTS `zt_im_message` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` varchar(30) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `order` bigint(8) unsigned NOT NULL,
+ `type` enum('normal', 'broadcast', 'notify') NOT NULL DEFAULT 'normal',
+ `content` text NOT NULL DEFAULT '',
+ `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object') NOT NULL DEFAULT 'text',
+ `data` text NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `mgid` (`gid`),
+ KEY `mcgid` (`cgid`),
+ KEY `muser` (`user`),
+ KEY `mtype` (`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chatuser`;
+CREATE TABLE IF NOT EXISTS `zt_im_chatuser`(
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `order` smallint(5) NOT NULL DEFAULT 0,
+ `star` enum('0', '1') NOT NULL DEFAULT '0',
+ `hide` enum('0', '1') NOT NULL DEFAULT '0',
+ `mute` enum('0', '1') NOT NULL DEFAULT '0',
+ `join` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `quit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `category` varchar(40) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `cgid` (`cgid`),
+ KEY `user` (`user`),
+ KEY `order` (`order`),
+ KEY `star` (`star`),
+ KEY `hide` (`hide`),
+ UNIQUE KEY `chatuser` (`cgid`, `user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_messagestatus`;
+CREATE TABLE `zt_im_messagestatus` (
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `status` enum('waiting','sent','readed','deleted') NOT NULL DEFAULT 'waiting',
+ UNIQUE KEY `user` (`user`,`gid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/db/standard/zentao10.4.sql b/db/standard/zentao10.4.sql
new file mode 100644
index 0000000000..e3a090648d
--- /dev/null
+++ b/db/standard/zentao10.4.sql
@@ -0,0 +1,1026 @@
+-- DROP TABLE IF EXISTS `zt_action`;
+CREATE TABLE IF NOT EXISTS `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `objectType` varchar(30) NOT NULL default '',
+ `objectID` mediumint(8) unsigned NOT NULL default '0',
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(9) NOT NULL,
+ `actor` varchar(30) NOT NULL default '',
+ `action` varchar(30) NOT NULL default '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `date` (`date`),
+ KEY `actor` (`actor`),
+ KEY `project` (`project`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_block`;
+CREATE TABLE IF NOT EXISTS `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_branch`;
+CREATE TABLE IF NOT EXISTS `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_bug`;
+CREATE TABLE IF NOT EXISTS `zt_bug` (
+ `id` mediumint(8) NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `plan` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `toTask` mediumint(8) unsigned NOT NULL default '0',
+ `toStory` mediumint(8) NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL default '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `os` varchar(30) NOT NULL default '',
+ `browser` varchar(30) NOT NULL default '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL default '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL default 'active',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL default '0',
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL default '',
+ `resolution` varchar(30) NOT NULL default '',
+ `resolvedBuild` varchar(30) NOT NULL default '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL default '1',
+ `result` mediumint(8) unsigned NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `status` (`status`),
+ KEY `plan` (`plan`),
+ KEY `story` (`story`),
+ KEY `case` (`case`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_build`;
+CREATE TABLE IF NOT EXISTS `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_burn`;
+CREATE TABLE IF NOT EXISTS `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_case`;
+CREATE TABLE IF NOT EXISTS `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `lib` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `path` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(30) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `type` char(30) NOT NULL default '1',
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL default '1',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL default '1',
+ `order` tinyint(30) unsigned NOT NULL default '0',
+ `openedBy` char(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `story` (`story`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_casestep`;
+CREATE TABLE IF NOT EXISTS `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(3) unsigned NOT NULL default '0',
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_company`;
+CREATE TABLE IF NOT EXISTS `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(120) default NULL,
+ `phone` char(20) default NULL,
+ `fax` char(20) default NULL,
+ `address` char(120) default NULL,
+ `zipcode` char(10) default NULL,
+ `website` char(120) default NULL,
+ `backyard` char(120) default NULL,
+ `guest` enum('1','0') NOT NULL default '0',
+ `admins` char(255) default NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_config`;
+CREATE TABLE IF NOT EXISTS `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `owner` char(30) NOT NULL default '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL default '',
+ `key` char(30) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_cron`;
+CREATE TABLE IF NOT EXISTS `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT '0',
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_lang`;
+CREATE TABLE IF NOT EXISTS `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_dept`;
+CREATE TABLE IF NOT EXISTS `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` tinyint(3) unsigned NOT NULL default '0',
+ `position` char(30) NOT NULL default '',
+ `function` char(255) NOT NULL default '',
+ `manager` char(30) NOT NULL default '',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doc`;
+CREATE TABLE IF NOT EXISTS `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `collector` text NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `lib` (`lib`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doccontent`;
+CREATE TABLE IF NOT EXISTS `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doclib`;
+CREATE TABLE IF NOT EXISTS `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL default '0',
+ `collector` text NOT NULL,
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_effort`;
+CREATE TABLE IF NOT EXISTS `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `user` char(30) NOT NULL default '',
+ `todo` enum('1','0') NOT NULL default '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL default '0000-00-00 00:00:00',
+ `end` datetime NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL default '1',
+ `idvalue` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `status` enum('1','2','3') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_extension`;
+CREATE TABLE IF NOT EXISTS `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL default 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `name` (`name`),
+ KEY `installedTime` (`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_file`;
+CREATE TABLE IF NOT EXISTS `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `pathname` char(100) NOT NULL,
+ `title` char(90) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL default '0',
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL default '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL default '0',
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_group`;
+CREATE TABLE IF NOT EXISTS `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `acl` text,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_grouppriv`;
+CREATE TABLE IF NOT EXISTS `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ `module` char(30) NOT NULL default '',
+ `method` char(30) NOT NULL default '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_history`;
+CREATE TABLE IF NOT EXISTS `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `action` mediumint(8) unsigned NOT NULL default '0',
+ `field` varchar(30) NOT NULL default '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_module`;
+CREATE TABLE IF NOT EXISTS `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(60) NOT NULL default '',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` smallint(5) unsigned NOT NULL default '0',
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `collector` text NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `root` (`root`),
+ KEY `type` (`type`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_notify`;
+CREATE TABLE IF NOT EXISTS `zt_notify` (
+ `id` mediumint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint unsigned NOT NULL,
+ `action` mediumint NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL
+) ENGINE='MyISAM' COLLATE 'utf8_general_ci';
+-- DROP TABLE IF EXISTS `zt_product`;
+CREATE TABLE IF NOT EXISTS `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL default 'normal',
+ `status` varchar(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_productplan`;
+CREATE TABLE IF NOT EXISTS `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `end` (`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_project`;
+CREATE TABLE IF NOT EXISTS `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `isCat` enum('1','0') NOT NULL default '0',
+ `catID` mediumint(8) unsigned NOT NULL,
+ `type` varchar(20) NOT NULL default 'sprint',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `statge` enum('1','2','3','4','5') NOT NULL default '1',
+ `pri` enum('1','2','3','4') NOT NULL default '1',
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL default '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL default '',
+ `PM` varchar(30) NOT NULL default '',
+ `QD` varchar(30) NOT NULL default '',
+ `RD` varchar(30) NOT NULL default '',
+ `team` varchar(90) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `begin` (`begin`),
+ KEY `end` (`end`),
+ KEY `status` (`status`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectproduct`;
+CREATE TABLE IF NOT EXISTS `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectstory`;
+CREATE TABLE IF NOT EXISTS `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(6) NOT NULL default '1',
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_release`;
+CREATE TABLE IF NOT EXISTS `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` char(30) NOT NULL default '',
+ `marker` enum('0','1') NOT NULL default '0',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `status` varchar(20) NOT NULL default 'normal',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_story`;
+CREATE TABLE IF NOT EXISTS `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `plan` text,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL default '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(9) NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL default '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `status` (`status`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storyspec`;
+CREATE TABLE IF NOT EXISTS `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storystage`;
+CREATE TABLE IF NOT EXISTS `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_suitecase`;
+CREATE TABLE IF NOT EXISTS `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_task`;
+CREATE TABLE IF NOT EXISTS `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) NOT NULL DEFAULT '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
+ `color` char(7) NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` date NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `project` (`project`),
+ KEY `story` (`story`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_taskestimate`;
+CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL default '0',
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL default '',
+ `work` text,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_team`;
+CREATE TABLE IF NOT EXISTS `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `type` enum('project','task') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL default '',
+ `role` char(30) NOT NULL default '',
+ `limited` char(8) NOT NULL default 'no',
+ `join` date NOT NULL default '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(2,1) unsigned NOT NULL default '0',
+ `estimate` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `consumed` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `left` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `order` TINYINT(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testreport`;
+CREATE TABLE IF NOT EXISTS `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testresult`;
+CREATE TABLE IF NOT EXISTS `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`),
+ KEY `run` (`run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testrun`;
+CREATE TABLE IF NOT EXISTS `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `assignedTo` char(30) NOT NULL default '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testsuite`;
+CREATE TABLE IF NOT EXISTS `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testtask`;
+CREATE TABLE IF NOT EXISTS `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(90) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `build` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_todo`;
+CREATE TABLE IF NOT EXISTS `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `assignedTo` (`assignedTo`),
+ KEY `finishedBy` (`finishedBy`),
+ KEY `date` (`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_user`;
+CREATE TABLE IF NOT EXISTS `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `dept` mediumint(8) unsigned NOT NULL default '0',
+ `account` char(30) NOT NULL default '',
+ `password` char(32) NOT NULL default '',
+ `role` char(10) NOT NULL default '',
+ `realname` varchar(100) NOT NULL default '',
+ `nickname` char(60) NOT NULL default '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` char(30) NOT NULL default '',
+ `birthday` date NOT NULL default '0000-00-00',
+ `gender` enum('f','m') NOT NULL default 'f',
+ `email` char(90) NOT NULL default '',
+ `skype` char(90) NOT NULL default '',
+ `qq` char(20) NOT NULL default '',
+ `yahoo` char(90) NOT NULL default '',
+ `gtalk` char(90) NOT NULL default '',
+ `wangwang` char(90) NOT NULL default '',
+ `mobile` char(11) NOT NULL default '',
+ `phone` char(20) NOT NULL default '',
+ `address` char(120) NOT NULL default '',
+ `zipcode` char(10) NOT NULL default '',
+ `join` date NOT NULL default '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL default '0',
+ `ip` char(15) NOT NULL default '',
+ `last` int(10) unsigned NOT NULL default '0',
+ `fails` tinyint(5) NOT NULL default '0',
+ `locked` datetime NOT NULL default '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL default '',
+ `score` INT(11) NOT NULL DEFAULT '0',
+ `scoreLevel` INT(11) NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL default '0',
+ `status` enum('online', 'away', 'busy', 'offline') NOT NULL DEFAULT 'offline',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usercontact`;
+CREATE TABLE IF NOT EXISTS `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usergroup`;
+CREATE TABLE IF NOT EXISTS `zt_usergroup` (
+ `account` char(30) NOT NULL default '',
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userquery`;
+CREATE TABLE IF NOT EXISTS `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ `shortcut` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usertpl`;
+CREATE TABLE IF NOT EXISTS `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userview`;
+CREATE TABLE IF NOT EXISTS `zt_userview` (
+ `account` char(30) NOT NULL,
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_entry`;
+CREATE TABLE IF NOT EXISTS `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `account` varchar(30) NOT NULL DEFAULT '',
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY `id` (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhook`;
+CREATE TABLE IF NOT EXISTS `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(10) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `domain` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_log`;
+CREATE TABLE IF NOT EXISTS `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_score`;
+CREATE TABLE `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT '0',
+ `score` int(11) NOT NULL DEFAULT '0',
+ `after` int(11) NOT NULL DEFAULT '0',
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chat`;
+CREATE TABLE IF NOT EXISTS `zt_im_chat` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `name` varchar(60) NOT NULL DEFAULT '',
+ `type` varchar(20) NOT NULL DEFAULT 'group',
+ `admins` varchar(255) NOT NULL DEFAULT '',
+ `committers` varchar(255) NOT NULL DEFAULT '',
+ `subject` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ `createdBy` varchar(30) NOT NULL DEFAULT '',
+ `createdDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `editedBy` varchar(30) NOT NULL DEFAULT '',
+ `editedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `lastActiveTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `dismissDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `gid` (`gid`),
+ KEY `name` (`name`),
+ KEY `type` (`type`),
+ KEY `public` (`public`),
+ KEY `createdBy` (`createdBy`),
+ KEY `editedBy` (`editedBy`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_message`;
+CREATE TABLE IF NOT EXISTS `zt_im_message` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` varchar(30) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `order` bigint(8) unsigned NOT NULL,
+ `type` enum('normal', 'broadcast', 'notify') NOT NULL DEFAULT 'normal',
+ `content` text NOT NULL DEFAULT '',
+ `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object') NOT NULL DEFAULT 'text',
+ `data` text NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `mgid` (`gid`),
+ KEY `mcgid` (`cgid`),
+ KEY `muser` (`user`),
+ KEY `mtype` (`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chatuser`;
+CREATE TABLE IF NOT EXISTS `zt_im_chatuser`(
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `order` smallint(5) NOT NULL DEFAULT 0,
+ `star` enum('0', '1') NOT NULL DEFAULT '0',
+ `hide` enum('0', '1') NOT NULL DEFAULT '0',
+ `mute` enum('0', '1') NOT NULL DEFAULT '0',
+ `join` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `quit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `category` varchar(40) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `cgid` (`cgid`),
+ KEY `user` (`user`),
+ KEY `order` (`order`),
+ KEY `star` (`star`),
+ KEY `hide` (`hide`),
+ UNIQUE KEY `chatuser` (`cgid`, `user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_messagestatus`;
+CREATE TABLE `zt_im_messagestatus` (
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `status` enum('waiting','sent','readed','deleted') NOT NULL DEFAULT 'waiting',
+ UNIQUE KEY `user` (`user`,`gid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/db/standard/zentao10.5.1.sql b/db/standard/zentao10.5.1.sql
new file mode 100644
index 0000000000..1b21978291
--- /dev/null
+++ b/db/standard/zentao10.5.1.sql
@@ -0,0 +1,1028 @@
+-- DROP TABLE IF EXISTS `zt_action`;
+CREATE TABLE IF NOT EXISTS `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `objectType` varchar(30) NOT NULL default '',
+ `objectID` mediumint(8) unsigned NOT NULL default '0',
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(9) NOT NULL,
+ `actor` varchar(30) NOT NULL default '',
+ `action` varchar(30) NOT NULL default '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `date` (`date`),
+ KEY `actor` (`actor`),
+ KEY `project` (`project`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_block`;
+CREATE TABLE IF NOT EXISTS `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_branch`;
+CREATE TABLE IF NOT EXISTS `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_bug`;
+CREATE TABLE IF NOT EXISTS `zt_bug` (
+ `id` mediumint(8) NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `plan` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `toTask` mediumint(8) unsigned NOT NULL default '0',
+ `toStory` mediumint(8) NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL default '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `os` varchar(30) NOT NULL default '',
+ `browser` varchar(30) NOT NULL default '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL default '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL default 'active',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL default '0',
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL default '',
+ `resolution` varchar(30) NOT NULL default '',
+ `resolvedBuild` varchar(30) NOT NULL default '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL default '1',
+ `result` mediumint(8) unsigned NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `status` (`status`),
+ KEY `plan` (`plan`),
+ KEY `story` (`story`),
+ KEY `case` (`case`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_build`;
+CREATE TABLE IF NOT EXISTS `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_burn`;
+CREATE TABLE IF NOT EXISTS `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_case`;
+CREATE TABLE IF NOT EXISTS `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `lib` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `path` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(30) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `type` char(30) NOT NULL default '1',
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL default '1',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL default '1',
+ `order` tinyint(30) unsigned NOT NULL default '0',
+ `openedBy` char(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `story` (`story`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_casestep`;
+CREATE TABLE IF NOT EXISTS `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(3) unsigned NOT NULL default '0',
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_company`;
+CREATE TABLE IF NOT EXISTS `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(120) default NULL,
+ `phone` char(20) default NULL,
+ `fax` char(20) default NULL,
+ `address` char(120) default NULL,
+ `zipcode` char(10) default NULL,
+ `website` char(120) default NULL,
+ `backyard` char(120) default NULL,
+ `guest` enum('1','0') NOT NULL default '0',
+ `admins` char(255) default NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_config`;
+CREATE TABLE IF NOT EXISTS `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `owner` char(30) NOT NULL default '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL default '',
+ `key` char(30) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_cron`;
+CREATE TABLE IF NOT EXISTS `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT '0',
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_lang`;
+CREATE TABLE IF NOT EXISTS `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_dept`;
+CREATE TABLE IF NOT EXISTS `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` tinyint(3) unsigned NOT NULL default '0',
+ `position` char(30) NOT NULL default '',
+ `function` char(255) NOT NULL default '',
+ `manager` char(30) NOT NULL default '',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doc`;
+CREATE TABLE IF NOT EXISTS `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `collector` text NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `lib` (`lib`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doccontent`;
+CREATE TABLE IF NOT EXISTS `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doclib`;
+CREATE TABLE IF NOT EXISTS `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL auto_increment,
+ `type` varchar(30) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL default '0',
+ `collector` text NOT NULL,
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_effort`;
+CREATE TABLE IF NOT EXISTS `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `user` char(30) NOT NULL default '',
+ `todo` enum('1','0') NOT NULL default '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL default '0000-00-00 00:00:00',
+ `end` datetime NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL default '1',
+ `idvalue` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `status` enum('1','2','3') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_extension`;
+CREATE TABLE IF NOT EXISTS `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL default 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `name` (`name`),
+ KEY `installedTime` (`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_file`;
+CREATE TABLE IF NOT EXISTS `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `pathname` char(100) NOT NULL,
+ `title` char(255) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL default '0',
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL default '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL default '0',
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_group`;
+CREATE TABLE IF NOT EXISTS `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `acl` text,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_grouppriv`;
+CREATE TABLE IF NOT EXISTS `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ `module` char(30) NOT NULL default '',
+ `method` char(30) NOT NULL default '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_history`;
+CREATE TABLE IF NOT EXISTS `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `action` mediumint(8) unsigned NOT NULL default '0',
+ `field` varchar(30) NOT NULL default '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_module`;
+CREATE TABLE IF NOT EXISTS `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(60) NOT NULL default '',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` smallint(5) unsigned NOT NULL default '0',
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `collector` text NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `root` (`root`),
+ KEY `type` (`type`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_notify`;
+CREATE TABLE IF NOT EXISTS `zt_notify` (
+ `id` mediumint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint unsigned NOT NULL,
+ `action` mediumint NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL
+) ENGINE='MyISAM' COLLATE 'utf8_general_ci';
+-- DROP TABLE IF EXISTS `zt_product`;
+CREATE TABLE IF NOT EXISTS `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL default 'normal',
+ `status` varchar(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_productplan`;
+CREATE TABLE IF NOT EXISTS `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `end` (`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_project`;
+CREATE TABLE IF NOT EXISTS `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `isCat` enum('1','0') NOT NULL default '0',
+ `catID` mediumint(8) unsigned NOT NULL,
+ `type` varchar(20) NOT NULL default 'sprint',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `statge` enum('1','2','3','4','5') NOT NULL default '1',
+ `pri` enum('1','2','3','4') NOT NULL default '1',
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL default '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL default '',
+ `PM` varchar(30) NOT NULL default '',
+ `QD` varchar(30) NOT NULL default '',
+ `RD` varchar(30) NOT NULL default '',
+ `team` varchar(90) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `begin` (`begin`),
+ KEY `end` (`end`),
+ KEY `status` (`status`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectproduct`;
+CREATE TABLE IF NOT EXISTS `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectstory`;
+CREATE TABLE IF NOT EXISTS `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(6) NOT NULL default '1',
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_release`;
+CREATE TABLE IF NOT EXISTS `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` char(30) NOT NULL default '',
+ `marker` enum('0','1') NOT NULL default '0',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `status` varchar(20) NOT NULL default 'normal',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_story`;
+CREATE TABLE IF NOT EXISTS `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `plan` text,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL default '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(9) NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL default '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `status` (`status`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storyspec`;
+CREATE TABLE IF NOT EXISTS `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storystage`;
+CREATE TABLE IF NOT EXISTS `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_suitecase`;
+CREATE TABLE IF NOT EXISTS `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_task`;
+CREATE TABLE IF NOT EXISTS `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) NOT NULL DEFAULT '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
+ `color` char(7) NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` date NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `finishedList` text NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `project` (`project`),
+ KEY `story` (`story`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_taskestimate`;
+CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL default '0',
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL default '',
+ `work` text,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_team`;
+CREATE TABLE IF NOT EXISTS `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `type` enum('project','task') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL default '',
+ `role` char(30) NOT NULL default '',
+ `limited` char(8) NOT NULL default 'no',
+ `join` date NOT NULL default '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(2,1) unsigned NOT NULL default '0',
+ `estimate` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `consumed` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `left` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `order` TINYINT(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testreport`;
+CREATE TABLE IF NOT EXISTS `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testresult`;
+CREATE TABLE IF NOT EXISTS `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`),
+ KEY `run` (`run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testrun`;
+CREATE TABLE IF NOT EXISTS `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `assignedTo` char(30) NOT NULL default '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testsuite`;
+CREATE TABLE IF NOT EXISTS `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testtask`;
+CREATE TABLE IF NOT EXISTS `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(90) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `build` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_todo`;
+CREATE TABLE IF NOT EXISTS `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `assignedTo` (`assignedTo`),
+ KEY `finishedBy` (`finishedBy`),
+ KEY `date` (`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_user`;
+CREATE TABLE IF NOT EXISTS `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `dept` mediumint(8) unsigned NOT NULL default '0',
+ `account` char(30) NOT NULL default '',
+ `password` char(32) NOT NULL default '',
+ `role` char(10) NOT NULL default '',
+ `realname` varchar(100) NOT NULL default '',
+ `nickname` char(60) NOT NULL default '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` char(30) NOT NULL default '',
+ `birthday` date NOT NULL default '0000-00-00',
+ `gender` enum('f','m') NOT NULL default 'f',
+ `email` char(90) NOT NULL default '',
+ `skype` char(90) NOT NULL default '',
+ `qq` char(20) NOT NULL default '',
+ `yahoo` char(90) NOT NULL default '',
+ `gtalk` char(90) NOT NULL default '',
+ `wangwang` char(90) NOT NULL default '',
+ `mobile` char(11) NOT NULL default '',
+ `phone` char(20) NOT NULL default '',
+ `address` char(120) NOT NULL default '',
+ `zipcode` char(10) NOT NULL default '',
+ `join` date NOT NULL default '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL default '0',
+ `ip` char(15) NOT NULL default '',
+ `last` int(10) unsigned NOT NULL default '0',
+ `fails` tinyint(5) NOT NULL default '0',
+ `locked` datetime NOT NULL default '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL default '',
+ `score` INT(11) NOT NULL DEFAULT '0',
+ `scoreLevel` INT(11) NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL default '0',
+ `status` enum('online', 'away', 'busy', 'offline') NOT NULL DEFAULT 'offline',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usercontact`;
+CREATE TABLE IF NOT EXISTS `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usergroup`;
+CREATE TABLE IF NOT EXISTS `zt_usergroup` (
+ `account` char(30) NOT NULL default '',
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userquery`;
+CREATE TABLE IF NOT EXISTS `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ `shortcut` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usertpl`;
+CREATE TABLE IF NOT EXISTS `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userview`;
+CREATE TABLE IF NOT EXISTS `zt_userview` (
+ `account` char(30) NOT NULL,
+ `products` mediumtext NOT NULL,
+ `projects` mediumtext NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_entry`;
+CREATE TABLE IF NOT EXISTS `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `account` varchar(30) NOT NULL DEFAULT '',
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY `id` (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhook`;
+CREATE TABLE IF NOT EXISTS `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(10) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `domain` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_log`;
+CREATE TABLE IF NOT EXISTS `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_score`;
+CREATE TABLE `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT '0',
+ `score` int(11) NOT NULL DEFAULT '0',
+ `after` int(11) NOT NULL DEFAULT '0',
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chat`;
+CREATE TABLE IF NOT EXISTS `zt_im_chat` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `name` varchar(60) NOT NULL DEFAULT '',
+ `type` varchar(20) NOT NULL DEFAULT 'group',
+ `admins` varchar(255) NOT NULL DEFAULT '',
+ `committers` varchar(255) NOT NULL DEFAULT '',
+ `subject` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ `createdBy` varchar(30) NOT NULL DEFAULT '',
+ `createdDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `editedBy` varchar(30) NOT NULL DEFAULT '',
+ `editedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `lastActiveTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `dismissDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `gid` (`gid`),
+ KEY `name` (`name`),
+ KEY `type` (`type`),
+ KEY `public` (`public`),
+ KEY `createdBy` (`createdBy`),
+ KEY `editedBy` (`editedBy`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_message`;
+CREATE TABLE IF NOT EXISTS `zt_im_message` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` varchar(30) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `order` bigint(8) unsigned NOT NULL,
+ `type` enum('normal', 'broadcast', 'notify') NOT NULL DEFAULT 'normal',
+ `content` text NOT NULL DEFAULT '',
+ `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object') NOT NULL DEFAULT 'text',
+ `data` text NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `mgid` (`gid`),
+ KEY `mcgid` (`cgid`),
+ KEY `muser` (`user`),
+ KEY `mtype` (`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chatuser`;
+CREATE TABLE IF NOT EXISTS `zt_im_chatuser`(
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `order` smallint(5) NOT NULL DEFAULT 0,
+ `star` enum('0', '1') NOT NULL DEFAULT '0',
+ `hide` enum('0', '1') NOT NULL DEFAULT '0',
+ `mute` enum('0', '1') NOT NULL DEFAULT '0',
+ `join` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `quit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `category` varchar(40) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `cgid` (`cgid`),
+ KEY `user` (`user`),
+ KEY `order` (`order`),
+ KEY `star` (`star`),
+ KEY `hide` (`hide`),
+ UNIQUE KEY `chatuser` (`cgid`, `user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_messagestatus`;
+CREATE TABLE `zt_im_messagestatus` (
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `status` enum('waiting','sent','readed','deleted') NOT NULL DEFAULT 'waiting',
+ UNIQUE KEY `user` (`user`,`gid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/db/standard/zentao10.5.sql b/db/standard/zentao10.5.sql
new file mode 100644
index 0000000000..1b21978291
--- /dev/null
+++ b/db/standard/zentao10.5.sql
@@ -0,0 +1,1028 @@
+-- DROP TABLE IF EXISTS `zt_action`;
+CREATE TABLE IF NOT EXISTS `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `objectType` varchar(30) NOT NULL default '',
+ `objectID` mediumint(8) unsigned NOT NULL default '0',
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(9) NOT NULL,
+ `actor` varchar(30) NOT NULL default '',
+ `action` varchar(30) NOT NULL default '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `date` (`date`),
+ KEY `actor` (`actor`),
+ KEY `project` (`project`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_block`;
+CREATE TABLE IF NOT EXISTS `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_branch`;
+CREATE TABLE IF NOT EXISTS `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_bug`;
+CREATE TABLE IF NOT EXISTS `zt_bug` (
+ `id` mediumint(8) NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `plan` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `toTask` mediumint(8) unsigned NOT NULL default '0',
+ `toStory` mediumint(8) NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL default '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `os` varchar(30) NOT NULL default '',
+ `browser` varchar(30) NOT NULL default '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL default '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL default 'active',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL default '0',
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL default '',
+ `resolution` varchar(30) NOT NULL default '',
+ `resolvedBuild` varchar(30) NOT NULL default '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL default '1',
+ `result` mediumint(8) unsigned NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `status` (`status`),
+ KEY `plan` (`plan`),
+ KEY `story` (`story`),
+ KEY `case` (`case`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_build`;
+CREATE TABLE IF NOT EXISTS `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_burn`;
+CREATE TABLE IF NOT EXISTS `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_case`;
+CREATE TABLE IF NOT EXISTS `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `lib` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `path` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(30) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `type` char(30) NOT NULL default '1',
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL default '1',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL default '1',
+ `order` tinyint(30) unsigned NOT NULL default '0',
+ `openedBy` char(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `story` (`story`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_casestep`;
+CREATE TABLE IF NOT EXISTS `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(3) unsigned NOT NULL default '0',
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_company`;
+CREATE TABLE IF NOT EXISTS `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(120) default NULL,
+ `phone` char(20) default NULL,
+ `fax` char(20) default NULL,
+ `address` char(120) default NULL,
+ `zipcode` char(10) default NULL,
+ `website` char(120) default NULL,
+ `backyard` char(120) default NULL,
+ `guest` enum('1','0') NOT NULL default '0',
+ `admins` char(255) default NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_config`;
+CREATE TABLE IF NOT EXISTS `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `owner` char(30) NOT NULL default '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL default '',
+ `key` char(30) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_cron`;
+CREATE TABLE IF NOT EXISTS `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT '0',
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_lang`;
+CREATE TABLE IF NOT EXISTS `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_dept`;
+CREATE TABLE IF NOT EXISTS `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` tinyint(3) unsigned NOT NULL default '0',
+ `position` char(30) NOT NULL default '',
+ `function` char(255) NOT NULL default '',
+ `manager` char(30) NOT NULL default '',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doc`;
+CREATE TABLE IF NOT EXISTS `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `collector` text NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`),
+ KEY `lib` (`lib`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doccontent`;
+CREATE TABLE IF NOT EXISTS `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doclib`;
+CREATE TABLE IF NOT EXISTS `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL auto_increment,
+ `type` varchar(30) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL default '0',
+ `collector` text NOT NULL,
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `project` (`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_effort`;
+CREATE TABLE IF NOT EXISTS `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `user` char(30) NOT NULL default '',
+ `todo` enum('1','0') NOT NULL default '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL default '0000-00-00 00:00:00',
+ `end` datetime NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL default '1',
+ `idvalue` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `status` enum('1','2','3') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_extension`;
+CREATE TABLE IF NOT EXISTS `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL default 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `name` (`name`),
+ KEY `installedTime` (`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_file`;
+CREATE TABLE IF NOT EXISTS `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `pathname` char(100) NOT NULL,
+ `title` char(255) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL default '0',
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL default '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL default '0',
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_group`;
+CREATE TABLE IF NOT EXISTS `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `acl` text,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_grouppriv`;
+CREATE TABLE IF NOT EXISTS `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ `module` char(30) NOT NULL default '',
+ `method` char(30) NOT NULL default '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_history`;
+CREATE TABLE IF NOT EXISTS `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `action` mediumint(8) unsigned NOT NULL default '0',
+ `field` varchar(30) NOT NULL default '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_module`;
+CREATE TABLE IF NOT EXISTS `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(60) NOT NULL default '',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` smallint(5) unsigned NOT NULL default '0',
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `collector` text NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `root` (`root`),
+ KEY `type` (`type`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_notify`;
+CREATE TABLE IF NOT EXISTS `zt_notify` (
+ `id` mediumint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint unsigned NOT NULL,
+ `action` mediumint NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL
+) ENGINE='MyISAM' COLLATE 'utf8_general_ci';
+-- DROP TABLE IF EXISTS `zt_product`;
+CREATE TABLE IF NOT EXISTS `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL default 'normal',
+ `status` varchar(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_productplan`;
+CREATE TABLE IF NOT EXISTS `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `end` (`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_project`;
+CREATE TABLE IF NOT EXISTS `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `isCat` enum('1','0') NOT NULL default '0',
+ `catID` mediumint(8) unsigned NOT NULL,
+ `type` varchar(20) NOT NULL default 'sprint',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `statge` enum('1','2','3','4','5') NOT NULL default '1',
+ `pri` enum('1','2','3','4') NOT NULL default '1',
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL default '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL default '',
+ `PM` varchar(30) NOT NULL default '',
+ `QD` varchar(30) NOT NULL default '',
+ `RD` varchar(30) NOT NULL default '',
+ `team` varchar(90) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `begin` (`begin`),
+ KEY `end` (`end`),
+ KEY `status` (`status`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectproduct`;
+CREATE TABLE IF NOT EXISTS `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectstory`;
+CREATE TABLE IF NOT EXISTS `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(6) NOT NULL default '1',
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_release`;
+CREATE TABLE IF NOT EXISTS `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` char(30) NOT NULL default '',
+ `marker` enum('0','1') NOT NULL default '0',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `status` varchar(20) NOT NULL default 'normal',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_story`;
+CREATE TABLE IF NOT EXISTS `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `plan` text,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL default '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(9) NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL default '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `status` (`status`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storyspec`;
+CREATE TABLE IF NOT EXISTS `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storystage`;
+CREATE TABLE IF NOT EXISTS `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_suitecase`;
+CREATE TABLE IF NOT EXISTS `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_task`;
+CREATE TABLE IF NOT EXISTS `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) NOT NULL DEFAULT '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
+ `color` char(7) NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` date NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `finishedList` text NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `project` (`project`),
+ KEY `story` (`story`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_taskestimate`;
+CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL default '0',
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL default '',
+ `work` text,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_team`;
+CREATE TABLE IF NOT EXISTS `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `type` enum('project','task') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL default '',
+ `role` char(30) NOT NULL default '',
+ `limited` char(8) NOT NULL default 'no',
+ `join` date NOT NULL default '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(2,1) unsigned NOT NULL default '0',
+ `estimate` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `consumed` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `left` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `order` TINYINT(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testreport`;
+CREATE TABLE IF NOT EXISTS `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testresult`;
+CREATE TABLE IF NOT EXISTS `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`),
+ KEY `run` (`run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testrun`;
+CREATE TABLE IF NOT EXISTS `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `assignedTo` char(30) NOT NULL default '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testsuite`;
+CREATE TABLE IF NOT EXISTS `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testtask`;
+CREATE TABLE IF NOT EXISTS `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(90) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `build` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_todo`;
+CREATE TABLE IF NOT EXISTS `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `assignedTo` (`assignedTo`),
+ KEY `finishedBy` (`finishedBy`),
+ KEY `date` (`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_user`;
+CREATE TABLE IF NOT EXISTS `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `dept` mediumint(8) unsigned NOT NULL default '0',
+ `account` char(30) NOT NULL default '',
+ `password` char(32) NOT NULL default '',
+ `role` char(10) NOT NULL default '',
+ `realname` varchar(100) NOT NULL default '',
+ `nickname` char(60) NOT NULL default '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` char(30) NOT NULL default '',
+ `birthday` date NOT NULL default '0000-00-00',
+ `gender` enum('f','m') NOT NULL default 'f',
+ `email` char(90) NOT NULL default '',
+ `skype` char(90) NOT NULL default '',
+ `qq` char(20) NOT NULL default '',
+ `yahoo` char(90) NOT NULL default '',
+ `gtalk` char(90) NOT NULL default '',
+ `wangwang` char(90) NOT NULL default '',
+ `mobile` char(11) NOT NULL default '',
+ `phone` char(20) NOT NULL default '',
+ `address` char(120) NOT NULL default '',
+ `zipcode` char(10) NOT NULL default '',
+ `join` date NOT NULL default '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL default '0',
+ `ip` char(15) NOT NULL default '',
+ `last` int(10) unsigned NOT NULL default '0',
+ `fails` tinyint(5) NOT NULL default '0',
+ `locked` datetime NOT NULL default '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL default '',
+ `score` INT(11) NOT NULL DEFAULT '0',
+ `scoreLevel` INT(11) NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL default '0',
+ `status` enum('online', 'away', 'busy', 'offline') NOT NULL DEFAULT 'offline',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usercontact`;
+CREATE TABLE IF NOT EXISTS `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usergroup`;
+CREATE TABLE IF NOT EXISTS `zt_usergroup` (
+ `account` char(30) NOT NULL default '',
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userquery`;
+CREATE TABLE IF NOT EXISTS `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ `shortcut` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usertpl`;
+CREATE TABLE IF NOT EXISTS `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userview`;
+CREATE TABLE IF NOT EXISTS `zt_userview` (
+ `account` char(30) NOT NULL,
+ `products` mediumtext NOT NULL,
+ `projects` mediumtext NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_entry`;
+CREATE TABLE IF NOT EXISTS `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `account` varchar(30) NOT NULL DEFAULT '',
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY `id` (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhook`;
+CREATE TABLE IF NOT EXISTS `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(10) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `domain` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_log`;
+CREATE TABLE IF NOT EXISTS `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_score`;
+CREATE TABLE `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT '0',
+ `score` int(11) NOT NULL DEFAULT '0',
+ `after` int(11) NOT NULL DEFAULT '0',
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chat`;
+CREATE TABLE IF NOT EXISTS `zt_im_chat` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `name` varchar(60) NOT NULL DEFAULT '',
+ `type` varchar(20) NOT NULL DEFAULT 'group',
+ `admins` varchar(255) NOT NULL DEFAULT '',
+ `committers` varchar(255) NOT NULL DEFAULT '',
+ `subject` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ `createdBy` varchar(30) NOT NULL DEFAULT '',
+ `createdDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `editedBy` varchar(30) NOT NULL DEFAULT '',
+ `editedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `lastActiveTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `dismissDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `gid` (`gid`),
+ KEY `name` (`name`),
+ KEY `type` (`type`),
+ KEY `public` (`public`),
+ KEY `createdBy` (`createdBy`),
+ KEY `editedBy` (`editedBy`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_message`;
+CREATE TABLE IF NOT EXISTS `zt_im_message` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` varchar(30) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `order` bigint(8) unsigned NOT NULL,
+ `type` enum('normal', 'broadcast', 'notify') NOT NULL DEFAULT 'normal',
+ `content` text NOT NULL DEFAULT '',
+ `contentType` enum('text', 'plain', 'emotion', 'image', 'file', 'object') NOT NULL DEFAULT 'text',
+ `data` text NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `mgid` (`gid`),
+ KEY `mcgid` (`cgid`),
+ KEY `muser` (`user`),
+ KEY `mtype` (`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_chatuser`;
+CREATE TABLE IF NOT EXISTS `zt_im_chatuser`(
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `cgid` char(40) NOT NULL DEFAULT '',
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `order` smallint(5) NOT NULL DEFAULT 0,
+ `star` enum('0', '1') NOT NULL DEFAULT '0',
+ `hide` enum('0', '1') NOT NULL DEFAULT '0',
+ `mute` enum('0', '1') NOT NULL DEFAULT '0',
+ `join` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `quit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `category` varchar(40) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `cgid` (`cgid`),
+ KEY `user` (`user`),
+ KEY `order` (`order`),
+ KEY `star` (`star`),
+ KEY `hide` (`hide`),
+ UNIQUE KEY `chatuser` (`cgid`, `user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- DROP TABLE IF EXISTS `zt_im_messagestatus`;
+CREATE TABLE `zt_im_messagestatus` (
+ `user` mediumint(8) NOT NULL DEFAULT 0,
+ `gid` char(40) NOT NULL DEFAULT '',
+ `status` enum('waiting','sent','readed','deleted') NOT NULL DEFAULT 'waiting',
+ UNIQUE KEY `user` (`user`,`gid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/db/standard/zentao9.8.3.sql b/db/standard/zentao9.8.3.sql
new file mode 100644
index 0000000000..775041b30e
--- /dev/null
+++ b/db/standard/zentao9.8.3.sql
@@ -0,0 +1,923 @@
+-- DROP TABLE IF EXISTS `zt_action`;
+CREATE TABLE IF NOT EXISTS `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `objectType` varchar(30) NOT NULL default '',
+ `objectID` mediumint(8) unsigned NOT NULL default '0',
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(9) NOT NULL,
+ `actor` varchar(30) NOT NULL default '',
+ `action` varchar(30) NOT NULL default '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `action` (`objectID`,`product`,`project`,`action`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_block`;
+CREATE TABLE IF NOT EXISTS `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
+ KEY `block` (`account`,`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_branch`;
+CREATE TABLE IF NOT EXISTS `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_bug`;
+CREATE TABLE IF NOT EXISTS `zt_bug` (
+ `id` mediumint(8) NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `plan` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `toTask` mediumint(8) unsigned NOT NULL default '0',
+ `toStory` mediumint(8) NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL default '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `os` varchar(30) NOT NULL default '',
+ `browser` varchar(30) NOT NULL default '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL default '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL default 'active',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL default '0',
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL default '',
+ `resolution` varchar(30) NOT NULL default '',
+ `resolvedBuild` varchar(30) NOT NULL default '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL default '1',
+ `result` mediumint(8) unsigned NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `bug` (`product`,`module`,`project`,`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_build`;
+CREATE TABLE IF NOT EXISTS `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `build` (`product`,`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_burn`;
+CREATE TABLE IF NOT EXISTS `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_case`;
+CREATE TABLE IF NOT EXISTS `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `lib` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `path` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(30) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `type` char(30) NOT NULL default '1',
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL default '1',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL default '1',
+ `order` tinyint(30) unsigned NOT NULL default '0',
+ `openedBy` char(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`product`,`module`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_casestep`;
+CREATE TABLE IF NOT EXISTS `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(3) unsigned NOT NULL default '0',
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_company`;
+CREATE TABLE IF NOT EXISTS `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(120) default NULL,
+ `phone` char(20) default NULL,
+ `fax` char(20) default NULL,
+ `address` char(120) default NULL,
+ `zipcode` char(10) default NULL,
+ `website` char(120) default NULL,
+ `backyard` char(120) default NULL,
+ `guest` enum('1','0') NOT NULL default '0',
+ `admins` char(255) default NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_config`;
+CREATE TABLE IF NOT EXISTS `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `owner` char(30) NOT NULL default '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL default '',
+ `key` char(30) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_cron`;
+CREATE TABLE IF NOT EXISTS `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT '0',
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_lang`;
+CREATE TABLE IF NOT EXISTS `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_dept`;
+CREATE TABLE IF NOT EXISTS `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` tinyint(3) unsigned NOT NULL default '0',
+ `position` char(30) NOT NULL default '',
+ `function` char(255) NOT NULL default '',
+ `manager` char(30) NOT NULL default '',
+ PRIMARY KEY (`id`),
+ KEY `dept` (`parent`,`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doc`;
+CREATE TABLE IF NOT EXISTS `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `doc` (`product`,`project`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doccontent`;
+CREATE TABLE IF NOT EXISTS `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_doclib`;
+CREATE TABLE IF NOT EXISTS `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL default '0',
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_effort`;
+CREATE TABLE IF NOT EXISTS `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `user` char(30) NOT NULL default '',
+ `todo` enum('1','0') NOT NULL default '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL default '0000-00-00 00:00:00',
+ `end` datetime NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL default '1',
+ `idvalue` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `status` enum('1','2','3') NOT NULL default '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_extension`;
+CREATE TABLE IF NOT EXISTS `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL default 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `extension` (`name`,`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_file`;
+CREATE TABLE IF NOT EXISTS `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `pathname` char(50) NOT NULL,
+ `title` char(90) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL default '0',
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL default '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL default '0',
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `file` (`objectType`,`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_group`;
+CREATE TABLE IF NOT EXISTS `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL default '',
+ `desc` char(255) NOT NULL default '',
+ `acl` text,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_grouppriv`;
+CREATE TABLE IF NOT EXISTS `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ `module` char(30) NOT NULL default '',
+ `method` char(30) NOT NULL default '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_history`;
+CREATE TABLE IF NOT EXISTS `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `action` mediumint(8) unsigned NOT NULL default '0',
+ `field` varchar(30) NOT NULL default '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_mailqueue`;
+CREATE TABLE IF NOT EXISTS `zt_mailqueue` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `toList` varchar(255) NOT NULL,
+ `ccList` varchar(255) NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `body` text NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `sendTime` (`sendTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_module`;
+CREATE TABLE IF NOT EXISTS `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `name` char(60) NOT NULL default '',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `path` char(255) NOT NULL default '',
+ `grade` tinyint(3) unsigned NOT NULL default '0',
+ `order` smallint(5) unsigned NOT NULL default '0',
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `module` (`root`,`type`,`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_notify`;
+CREATE TABLE IF NOT EXISTS `zt_notify` (
+ `id` mediumint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint unsigned NOT NULL,
+ `action` mediumint NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL
+) ENGINE='MyISAM' COLLATE 'utf8_general_ci';
+-- DROP TABLE IF EXISTS `zt_product`;
+CREATE TABLE IF NOT EXISTS `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL default 'normal',
+ `status` varchar(30) NOT NULL default '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_productplan`;
+CREATE TABLE IF NOT EXISTS `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `plan` (`product`,`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_project`;
+CREATE TABLE IF NOT EXISTS `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `isCat` enum('1','0') NOT NULL default '0',
+ `catID` mediumint(8) unsigned NOT NULL,
+ `type` varchar(20) NOT NULL default 'sprint',
+ `parent` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `statge` enum('1','2','3','4','5') NOT NULL default '1',
+ `pri` enum('1','2','3','4') NOT NULL default '1',
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL default '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL default '',
+ `PM` varchar(30) NOT NULL default '',
+ `QD` varchar(30) NOT NULL default '',
+ `RD` varchar(30) NOT NULL default '',
+ `team` varchar(90) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL default 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `project` (`parent`,`begin`,`end`,`status`,`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectproduct`;
+CREATE TABLE IF NOT EXISTS `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_projectstory`;
+CREATE TABLE IF NOT EXISTS `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `version` smallint(6) NOT NULL default '1',
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_release`;
+CREATE TABLE IF NOT EXISTS `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` char(30) NOT NULL default '',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `status` varchar(20) NOT NULL default 'normal',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_story`;
+CREATE TABLE IF NOT EXISTS `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `product` mediumint(8) unsigned NOT NULL default '0',
+ `branch` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `plan` text,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL default '',
+ `pri` tinyint(3) unsigned NOT NULL default '3',
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL default '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
+ `mailto` text,
+ `openedBy` varchar(30) NOT NULL default '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL default '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL default '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `closedBy` varchar(30) NOT NULL default '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(9) NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL default '1',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `story` (`product`,`module`,`status`,`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storyspec`;
+CREATE TABLE IF NOT EXISTS `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_storystage`;
+CREATE TABLE IF NOT EXISTS `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_suitecase`;
+CREATE TABLE IF NOT EXISTS `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_task`;
+CREATE TABLE IF NOT EXISTS `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `parent` mediumint(8) NOT NULL DEFAULT '0',
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `module` mediumint(8) unsigned NOT NULL default '0',
+ `story` mediumint(8) unsigned NOT NULL default '0',
+ `storyVersion` smallint(6) NOT NULL default '1',
+ `fromBug` mediumint(8) unsigned NOT NULL default '0',
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
+ `color` char(7) NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` date NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `task` (`project`,`module`,`story`,`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_taskestimate`;
+CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL default '0',
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL default '',
+ `work` text,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_team`;
+CREATE TABLE IF NOT EXISTS `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `root` mediumint(8) unsigned NOT NULL default '0',
+ `type` enum('project','task') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL default '',
+ `role` char(30) NOT NULL default '',
+ `limited` char(8) NOT NULL default 'no',
+ `join` date NOT NULL default '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(2,1) unsigned NOT NULL default '0',
+ `estimate` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `consumed` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `left` DECIMAL(12,2) UNSIGNED NOT NULL DEFAULT '0',
+ `order` TINYINT(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testreport`;
+CREATE TABLE IF NOT EXISTS `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testresult`;
+CREATE TABLE IF NOT EXISTS `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `testresult` (`case`,`version`, `run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testrun`;
+CREATE TABLE IF NOT EXISTS `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `task` mediumint(8) unsigned NOT NULL default '0',
+ `case` mediumint(8) unsigned NOT NULL default '0',
+ `version` tinyint(3) unsigned NOT NULL default '0',
+ `assignedTo` char(30) NOT NULL default '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testsuite`;
+CREATE TABLE IF NOT EXISTS `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_testtask`;
+CREATE TABLE IF NOT EXISTS `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `name` char(90) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL default '0',
+ `build` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL default '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `mailto` text,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_todo`;
+CREATE TABLE IF NOT EXISTS `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `todo` (`account`,`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_user`;
+CREATE TABLE IF NOT EXISTS `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `dept` mediumint(8) unsigned NOT NULL default '0',
+ `account` char(30) NOT NULL default '',
+ `password` char(32) NOT NULL default '',
+ `role` char(10) NOT NULL default '',
+ `realname` varchar(100) NOT NULL default '',
+ `nickname` char(60) NOT NULL default '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` char(30) NOT NULL default '',
+ `birthday` date NOT NULL default '0000-00-00',
+ `gender` enum('f','m') NOT NULL default 'f',
+ `email` char(90) NOT NULL default '',
+ `skype` char(90) NOT NULL default '',
+ `qq` char(20) NOT NULL default '',
+ `yahoo` char(90) NOT NULL default '',
+ `gtalk` char(90) NOT NULL default '',
+ `wangwang` char(90) NOT NULL default '',
+ `mobile` char(11) NOT NULL default '',
+ `phone` char(20) NOT NULL default '',
+ `address` char(120) NOT NULL default '',
+ `zipcode` char(10) NOT NULL default '',
+ `join` date NOT NULL default '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL default '0',
+ `ip` char(15) NOT NULL default '',
+ `last` int(10) unsigned NOT NULL default '0',
+ `fails` tinyint(5) NOT NULL default '0',
+ `locked` datetime NOT NULL default '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL default '',
+ `score` INT(11) NOT NULL DEFAULT '0',
+ `scoreLevel` INT(11) NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `user` (`dept`,`email`,`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usercontact`;
+CREATE TABLE IF NOT EXISTS `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usergroup`;
+CREATE TABLE IF NOT EXISTS `zt_usergroup` (
+ `account` char(30) NOT NULL default '',
+ `group` mediumint(8) unsigned NOT NULL default '0',
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_userquery`;
+CREATE TABLE IF NOT EXISTS `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `query` (`account`, `module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_usertpl`;
+CREATE TABLE IF NOT EXISTS `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL auto_increment,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_entry`;
+CREATE TABLE IF NOT EXISTS `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY `id` (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhook`;
+CREATE TABLE IF NOT EXISTS `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(10) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `projects` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_webhookdatas`;
+CREATE TABLE IF NOT EXISTS `zt_webhookdatas` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `webhook` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `data` text NOT NULL,
+ `status` enum('wait', 'sended') NOT NULL DEFAULT 'wait',
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ UNIQUE KEY `uniq` (`webhook`, `action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_log`;
+CREATE TABLE IF NOT EXISTS `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY `id` (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+-- DROP TABLE IF EXISTS `zt_score`;
+CREATE TABLE `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT '0',
+ `score` int(11) NOT NULL DEFAULT '0',
+ `after` int(11) NOT NULL DEFAULT '0',
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/module/action/view/trash.html.php b/module/action/view/trash.html.php
index 5295c533b5..a54bc7bda2 100755
--- a/module/action/view/trash.html.php
+++ b/module/action/view/trash.html.php
@@ -12,9 +12,7 @@
?>
-
- icons['trash']);?> action->trash;?>
-
+