diff --git a/Makefile b/Makefile
index f1718a17f1..29150c6eb1 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,6 @@
-VERSION=$(shell head -n 1 VERSION)
+VERSION = $(shell head -n 1 VERSION)
+XUANPATH = $(shell head -n 1 XUANPATH)
+XUANVERSION = $(shell head -n 1 XUANVERSION)
all: pms
clean:
@@ -11,7 +13,7 @@ clean:
rm -fr api*
rm -fr build/linux/lampp
rm -fr lampp
-pms:
+common:
mkdir zentaopms
cp -fr bin zentaopms/
cp -fr config zentaopms/ && rm -fr zentaopms/config/my.php
@@ -39,43 +41,48 @@ pms:
find zentaopms -name tests |xargs rm -fr
# notify.zip.
mkdir zentaopms/www/data/notify/
+zentaoxx:
#xuanxuan
- mkdir -p buildxx/config/ext
- mkdir -p buildxx/lib
- mkdir -p buildxx/module
- mkdir -p buildxx/framework
- mkdir -p buildxx/db
- mkdir -p buildxx/www
- mkdir -p buildxx/module/common/ext/model/
- svn export https://github.com/easysoft/xuanxuan.git/branches/master/ranzhi/
- cp ranzhi/config/ext/xuanxuan.php buildxx/config/ext/
- cp -r ranzhi/lib/phpaes buildxx/lib/
- cp -r ranzhi/framework/xuanxuan.class.php buildxx/framework/
- cp -r ranzhi/db/xuanxuan.sql buildxx/db/
- cp -r ranzhi/app/sys/chat buildxx/module/
- cp -r ranzhi/app/sys/common/ext/model/hook buildxx/module/common/ext/model/
- cp -r ranzhi/app/sys/action buildxx/module/
- cp -r xuanxuan/module/* buildxx/module/
- cp -r xuanxuan/www/* buildxx/www/
- sed -i 's/site,//' buildxx/module/chat/model.php
- sed -i 's/admin, g/g/' buildxx/module/chat/model.php
- sed -i '/password = md5/d' buildxx/module/chat/control.php
- sed -i '/getSignedTime/d' buildxx/module/chat/control.php
- sed -i 's/tree/dept/' buildxx/module/chat/control.php
- sed -i "s/, 'sys'//" buildxx/module/chat/control.php
- sed -i 's/system.sys/system/' buildxx/module/chat/control.php
- sed -i 's/&app=sys//' buildxx/module/chat/control.php
- sed -i 's/file->createdBy/file->addedBy/' buildxx/module/chat/control.php
- sed -i 's/file->createdDate/file->addedDate/' buildxx/module/chat/control.php
- sed -i 's/im_/zt_im_/' buildxx/db/xuanxuan.sql
- sed -i 's/sys_user/zt_user/' buildxx/db/xuanxuan.sql
- sed -i 's/sys_file/zt_file/' buildxx/db/xuanxuan.sql
- sed -i '/sys_entry/d' buildxx/db/xuanxuan.sql
- zip -rqm -9 xuanxuan.zentao.$(VERSION).zip buildxx/*
- rm -rf buildxx/
- unzip xuanxuan.zentao.*.zip -d zentaoxx
- cp zentaoxx/buildxx/* zentaopms/ -r
- cat zentaoxx/buildxx/db/xuanxuan.sql >> zentaopms/db/zentao.sql
+ mkdir -p zentaoxx/config/ext
+ mkdir -p zentaoxx/lib
+ mkdir -p zentaoxx/module
+ mkdir -p zentaoxx/framework
+ mkdir -p zentaoxx/db
+ mkdir -p zentaoxx/www
+ mkdir -p zentaoxx/module/common/ext/model/
+ cd $(XUANPATH); git archive --format=zip --prefix=xuan/ $(XUANVERSION) > xuan.zip
+ mv $(XUANPATH)/xuan.zip .
+ unzip xuan.zip
+ cp xuan/ranzhi/config/ext/xuanxuan.php zentaoxx/config/ext/
+ cp -r xuan/ranzhi/lib/phpaes zentaoxx/lib/
+ cp -r xuan/ranzhi/framework/xuanxuan.class.php zentaoxx/framework/
+ cp -r xuan/ranzhi/db/*.sql zentaoxx/db/
+ cp -r xuan/ranzhi/app/sys/chat zentaoxx/module/
+ cp -r xuan/ranzhi/app/sys/common/ext/model/hook zentaoxx/module/common/ext/model/
+ cp -r xuan/ranzhi/app/sys/action zentaoxx/module/
+ cp -r xuanxuan/config/* zentaoxx/config/
+ cp -r xuanxuan/module/* zentaoxx/module/
+ cp -r xuanxuan/www/* zentaoxx/www/
+ sed -i 's/site,//' zentaoxx/module/chat/model.php
+ sed -i 's/admin, g/g/' zentaoxx/module/chat/model.php
+ sed -i '/password = md5/d' zentaoxx/module/chat/control.php
+ sed -i '/getSignedTime/d' zentaoxx/module/chat/control.php
+ sed -i 's/tree/dept/' zentaoxx/module/chat/control.php
+ sed -i 's/tree/dept/' zentaoxx/module/chat/model.php
+ sed -i "s/, 'sys'//" zentaoxx/module/chat/control.php
+ sed -i 's/system.sys/system/' zentaoxx/module/chat/control.php
+ sed -i 's/&app=sys//' zentaoxx/module/chat/control.php
+ sed -i 's/file->createdBy/file->addedBy/' zentaoxx/module/chat/control.php
+ sed -i 's/file->createdDate/file->addedDate/' zentaoxx/module/chat/control.php
+ sed -i 's/im_/zt_im_/' zentaoxx/db/*.sql
+ sed -i 's/sys_user/zt_user/' zentaoxx/db/*.sql
+ sed -i 's/sys_file/zt_file/' zentaoxx/db/*.sql
+ sed -i '/sys_entry/d' zentaoxx/db/*.sql
+ mkdir zentaoxx/tools; cp tools/cn2tw.php zentaoxx/tools; cd zentaoxx/tools; php cn2tw.php
+ rm -rf zentaopms/tools
+ zip -rqm -9 zentaoxx.$(VERSION).zip zentaoxx/*
+ rm -rf xuan.zip xuan zentaoxx
+package:
# change mode.
chmod -R 777 zentaopms/tmp/
chmod -R 777 zentaopms/www/data
@@ -86,8 +93,29 @@ pms:
if [ ! -d "zentaopms/config/ext" ]; then mkdir zentaopms/config/ext; fi
for module in `ls zentaopms/module/`; do if [ ! -d "zentaopms/module/$$module/ext" ]; then mkdir zentaopms/module/$$module/ext; fi done
find zentaopms/ -name ext |xargs chmod -R 777
+ mkdir zentaopms/tools; cp tools/cn2tw.php zentaopms/tools; cd zentaopms/tools; php cn2tw.php
+ rm -rf zentaopms/tools
+pms:
+ make common
+ make zentaoxx
+ unzip zentaoxx.*.zip
+ cp zentaoxx/* zentaopms/ -r
+ cat zentaoxx/db/xuanxuan.sql >> zentaopms/db/zentao.sql
+ make package
zip -rq -9 ZenTaoPMS.$(VERSION).zip zentaopms
- rm -fr zentaopms ranzhi buildxx zentaoxx xuanxuan.zentao.*.zip
+ rm -fr zentaopms zentaoxx zentaoxx.*.zip
+en:
+ make common
+ cd zentaopms/; grep -rl 'zentao.net'|xargs sed -i 's/zentao.net/zentao.pm/g';
+ cd zentaopms/; grep -rl 'http://www.zentao.pm'|xargs sed -i 's/http:\/\/www.zentao.pm/https:\/\/www.zentao.pm/g';
+ cd zentaopms/config/; echo >> config.php; echo '$$config->isINT = true;' >> config.php
+ make package
+ zip -r -9 ZenTaoPMS.$(VERSION).int.zip zentaopms
+ rm -fr zentaopms
+ echo $(VERSION).int > VERSION
+ make deb
+ make rpm
+ echo $(VERSION) > VERSION
deb:
mkdir buildroot
cp -r build/debian/DEBIAN buildroot
@@ -115,17 +143,6 @@ rpm:
rpmbuild -ba ~/rpmbuild/SPECS/zentaopms.spec
cp ~/rpmbuild/RPMS/noarch/zentaopms-${VERSION}-1.noarch.rpm ./
rm -rf ~/rpmbuild
-en:
- unzip ZenTaoPMS.${VERSION}.zip
- cd zentaopms/; grep -rl 'zentao.net'|xargs sed -i 's/zentao.net/zentao.pm/g';
- cd zentaopms/; grep -rl 'http://www.zentao.pm'|xargs sed -i 's/http:\/\/www.zentao.pm/https:\/\/www.zentao.pm/g';
- cd zentaopms/config/; echo >> config.php; echo '$$config->isINT = true;' >> config.php
- zip -r -9 ZenTaoPMS.$(VERSION).int.zip zentaopms
- rm -fr zentaopms
- echo $(VERSION).int > VERSION
- make deb
- make rpm
- echo $(VERSION) > VERSION
patchphpdoc:
sudo cp misc/doc/phpdoc/*.tpl /usr/share/php/data/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/
phpdoc:
diff --git a/VERSION b/VERSION
index e96b59f77e..a6e5b12f92 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.6.stable
+11.4.1
diff --git a/config/config.php b/config/config.php
index ec8aa2bf6a..b5a81a8646 100644
--- a/config/config.php
+++ b/config/config.php
@@ -16,7 +16,7 @@ if(!class_exists('config')){class config{}}
if(!function_exists('getWebRoot')){function getWebRoot(){}}
/* 基本设置。Basic settings. */
-$config->version = '10.6'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
+$config->version = '11.4.1'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
$config->charset = 'UTF-8'; // ZenTaoPHP的编码。 The encoding of ZenTaoPHP.
$config->cookieLife = time() + 2592000; // Cookie的生存时间。The cookie life time.
$config->timezone = 'Asia/Shanghai'; // 时区设置。 The time zone setting, for more see http://www.php.net/manual/en/timezones.php.
diff --git a/config/timezones.php b/config/timezones.php
new file mode 100644
index 0000000000..0b0e36f8d5
--- /dev/null
+++ b/config/timezones.php
@@ -0,0 +1,125 @@
+ '(UTC-11:00) Midway Island',
+ 'Pacific/Samoa' => '(UTC-11:00) Samoa',
+ 'Pacific/Honolulu' => '(UTC-10:00) Hawaii',
+ 'US/Alaska' => '(UTC-09:00) Alaska',
+ 'America/Los_Angeles' => '(UTC-08:00) Pacific Time (US & Canada)',
+ 'America/Tijuana' => '(UTC-08:00) Tijuana',
+ 'US/Arizona' => '(UTC-07:00) Arizona',
+ 'America/Chihuahua' => '(UTC-07:00) Chihuahua',
+ 'America/Mazatlan' => '(UTC-07:00) Mazatlan',
+ 'US/Mountain' => '(UTC-07:00) Mountain Time (US & Canada)',
+ 'America/Managua' => '(UTC-06:00) Central America',
+ 'US/Central' => '(UTC-06:00) Central Time (US & Canada)',
+ 'America/Mexico_City' => '(UTC-06:00) Mexico City',
+ 'America/Monterrey' => '(UTC-06:00) Monterrey',
+ 'Canada/Saskatchewan' => '(UTC-06:00) Saskatchewan',
+ 'America/Bogota' => '(UTC-05:00) Bogota',
+ 'US/Eastern' => '(UTC-05:00) Eastern Time (US & Canada)',
+ 'US/East-Indiana' => '(UTC-05:00) Indiana (East)',
+ 'America/Lima' => '(UTC-05:00) Lima',
+ 'Canada/Atlantic' => '(UTC-04:00) Atlantic Time (Canada)',
+ 'America/Caracas' => '(UTC-04:30) Caracas',
+ 'America/La_Paz' => '(UTC-04:00) La Paz',
+ 'America/Santiago' => '(UTC-04:00) Santiago',
+ 'Canada/Newfoundland' => '(UTC-03:30) Newfoundland',
+ 'America/Sao_Paulo' => '(UTC-03:00) Brasilia',
+ 'America/Argentina/Buenos_Aires' => '(UTC-03:00) Buenos Aires',
+ 'America/Godthab' => '(UTC-03:00) Greenland',
+ 'America/Noronha' => '(UTC-02:00) Mid-Atlantic',
+ 'Atlantic/Azores' => '(UTC-01:00) Azores',
+ 'Atlantic/Cape_Verde' => '(UTC-01:00) Cape Verde Is.',
+ 'Africa/Casablanca' => '(UTC+00:00) Casablanca',
+ 'Etc/Greenwich' => '(UTC+00:00) Greenwich Mean Time : Dublin',
+ 'Europe/Lisbon' => '(UTC+00:00) Lisbon',
+ 'Europe/London' => '(UTC+00:00) London',
+ 'Africa/Monrovia' => '(UTC+00:00) Monrovia',
+ 'UTC' => '(UTC+00:00) UTC',
+ 'Europe/Amsterdam' => '(UTC+01:00) Amsterdam',
+ 'Europe/Belgrade' => '(UTC+01:00) Belgrade',
+ 'Europe/Berlin' => '(UTC+01:00) Berlin',
+ 'Europe/Bratislava' => '(UTC+01:00) Bratislava',
+ 'Europe/Brussels' => '(UTC+01:00) Brussels',
+ 'Europe/Budapest' => '(UTC+01:00) Budapest',
+ 'Europe/Copenhagen' => '(UTC+01:00) Copenhagen',
+ 'Europe/Ljubljana' => '(UTC+01:00) Ljubljana',
+ 'Europe/Madrid' => '(UTC+01:00) Madrid',
+ 'Europe/Paris' => '(UTC+01:00) Paris',
+ 'Europe/Prague' => '(UTC+01:00) Prague',
+ 'Europe/Rome' => '(UTC+01:00) Rome',
+ 'Europe/Sarajevo' => '(UTC+01:00) Sarajevo',
+ 'Europe/Skopje' => '(UTC+01:00) Skopje',
+ 'Europe/Stockholm' => '(UTC+01:00) Stockholm',
+ 'Europe/Vienna' => '(UTC+01:00) Vienna',
+ 'Europe/Warsaw' => '(UTC+01:00) Warsaw',
+ 'Africa/Lagos' => '(UTC+01:00) West Central Africa',
+ 'Europe/Zagreb' => '(UTC+01:00) Zagreb',
+ 'Europe/Athens' => '(UTC+02:00) Athens',
+ 'Europe/Bucharest' => '(UTC+02:00) Bucharest',
+ 'Africa/Cairo' => '(UTC+02:00) Cairo',
+ 'Africa/Harare' => '(UTC+02:00) Harare',
+ 'Europe/Helsinki' => '(UTC+02:00) Helsinki',
+ 'Europe/Istanbul' => '(UTC+02:00) Istanbul',
+ 'Asia/Jerusalem' => '(UTC+02:00) Jerusalem',
+ 'Africa/Johannesburg' => '(UTC+02:00) Pretoria',
+ 'Europe/Riga' => '(UTC+02:00) Riga',
+ 'Europe/Sofia' => '(UTC+02:00) Sofia',
+ 'Europe/Tallinn' => '(UTC+02:00) Tallinn',
+ 'Europe/Vilnius' => '(UTC+02:00) Vilnius',
+ 'Asia/Baghdad' => '(UTC+03:00) Baghdad',
+ 'Asia/Kuwait' => '(UTC+03:00) Kuwait',
+ 'Europe/Minsk' => '(UTC+03:00) Minsk',
+ 'Africa/Nairobi' => '(UTC+03:00) Nairobi',
+ 'Asia/Riyadh' => '(UTC+03:00) Riyadh',
+ 'Europe/Volgograd' => '(UTC+03:00) Volgograd',
+ 'Asia/Tehran' => '(UTC+03:30) Tehran',
+ 'Asia/Baku' => '(UTC+04:00) Baku',
+ 'Europe/Moscow' => '(UTC+04:00) Moscow',
+ 'Asia/Muscat' => '(UTC+04:00) Muscat',
+ 'Asia/Tbilisi' => '(UTC+04:00) Tbilisi',
+ 'Asia/Yerevan' => '(UTC+04:00) Yerevan',
+ 'Asia/Kabul' => '(UTC+04:30) Kabul',
+ 'Asia/Karachi' => '(UTC+05:00) Karachi',
+ 'Asia/Tashkent' => '(UTC+05:00) Tashkent',
+ 'Asia/Calcutta' => '(UTC+05:30) Chennai',
+ 'Asia/Kolkata' => '(UTC+05:30) Kolkata',
+ 'Asia/Katmandu' => '(UTC+05:45) Kathmandu',
+ 'Asia/Almaty' => '(UTC+06:00) Almaty',
+ 'Asia/Dhaka' => '(UTC+06:00) Dhaka',
+ 'Asia/Yekaterinburg' => '(UTC+06:00) Ekaterinburg',
+ 'Asia/Rangoon' => '(UTC+06:30) Rangoon',
+ 'Asia/Bangkok' => '(UTC+07:00) Bangkok',
+ 'Asia/Jakarta' => '(UTC+07:00) Jakarta',
+ 'Asia/Novosibirsk' => '(UTC+07:00) Novosibirsk',
+ 'Asia/Chongqing' => '(UTC+08:00) Chongqing',
+ 'Asia/Shanghai' => '(UTC+08:00) Shanghai',
+ 'Asia/Hong_Kong' => '(UTC+08:00) Hong Kong',
+ 'Asia/Krasnoyarsk' => '(UTC+08:00) Krasnoyarsk',
+ 'Asia/Kuala_Lumpur' => '(UTC+08:00) Kuala Lumpur',
+ 'Australia/Perth' => '(UTC+08:00) Perth',
+ 'Asia/Singapore' => '(UTC+08:00) Singapore',
+ 'Asia/Taipei' => '(UTC+08:00) Taipei',
+ 'Asia/Ulan_Bator' => '(UTC+08:00) Ulaan Bataar',
+ 'Asia/Urumqi' => '(UTC+08:00) Urumqi',
+ 'Asia/Irkutsk' => '(UTC+09:00) Irkutsk',
+ 'Asia/Seoul' => '(UTC+09:00) Seoul',
+ 'Asia/Tokyo' => '(UTC+09:00) Tokyo',
+ 'Australia/Adelaide' => '(UTC+09:30) Adelaide',
+ 'Australia/Darwin' => '(UTC+09:30) Darwin',
+ 'Australia/Brisbane' => '(UTC+10:00) Brisbane',
+ 'Australia/Canberra' => '(UTC+10:00) Canberra',
+ 'Pacific/Guam' => '(UTC+10:00) Guam',
+ 'Australia/Hobart' => '(UTC+10:00) Hobart',
+ 'Australia/Melbourne' => '(UTC+10:00) Melbourne',
+ 'Pacific/Port_Moresby' => '(UTC+10:00) Port Moresby',
+ 'Australia/Sydney' => '(UTC+10:00) Sydney',
+ 'Asia/Yakutsk' => '(UTC+10:00) Yakutsk',
+ 'Asia/Vladivostok' => '(UTC+11:00) Vladivostok',
+ 'Pacific/Auckland' => '(UTC+12:00) Auckland',
+ 'Pacific/Fiji' => '(UTC+12:00) Fiji',
+ 'Pacific/Kwajalein' => '(UTC+12:00) International Date Line West',
+ 'Asia/Kamchatka' => '(UTC+12:00) Kamchatka',
+ 'Asia/Magadan' => '(UTC+12:00) Magadan',
+ 'Pacific/Tongatapu' => '(UTC+13:00) Nuku\'alofa'
+);
diff --git a/db/demo.sql b/db/demo.sql
index cd67150a07..4f0862ec24 100644
--- a/db/demo.sql
+++ b/db/demo.sql
@@ -226,10 +226,10 @@ INSERT INTO `zt_productplan` (`id`, `product`, `title`, `desc`, `begin`, `end`,
INSERT INTO `zt_project` (`id`, `isCat`, `catID`, `type`, `parent`, `name`, `code`, `begin`, `end`, `days`, `status`, `statge`, `pri`, `desc`, `openedBy`, `openedDate`, `closedBy`, `closedDate`, `canceledBy`, `canceledDate`, `PO`, `PM`, `QD`, `RD`, `team`, `acl`, `whitelist`, `order`, `deleted`) VALUES(1, '0', 0, 'sprint', 0, '企业网站第一期', 'coWeb1', '2012-06-05', '2012-12-04', 184, 'done', '1', '1', '开发企业网站的基本雏形。 ', '', 0, '', 0, '', 0, 'productManager', 'projectManager', 'testManager', 'productManager', '公司开发团队', 'open', '', '5', '0');
INSERT INTO `zt_project` (`id`, `isCat`, `catID`, `type`, `parent`, `name`, `code`, `begin`, `end`, `days`, `status`, `statge`, `pri`, `desc`, `openedBy`, `openedDate`, `closedBy`, `closedDate`, `canceledBy`, `canceledDate`, `PO`, `PM`, `QD`, `RD`, `team`, `acl`, `whitelist`, `order`, `deleted`) VALUES(2, '0', 0, 'sprint', 0, '企业网站第二期', 'coWebsite2', '2013-06-05', '2014-06-04', 365, 'wait', '1', '1', '', '', 0, '', 0, '', 0, 'productManager', 'projectManager', 'testManager', 'productManager', '公司开发团队', 'open', '', '10', '0');
-INSERT INTO `zt_doclib` (`id`, `product`, `project`, `name`, `acl`, `main`) VALUES(1, 1, 0, '产品库', 'open','1');
-INSERT INTO `zt_doclib` (`id`, `product`, `project`, `name`, `acl`, `main`) VALUES(2, 2, 0, '产品库', 'open', '1');
-INSERT INTO `zt_doclib` (`id`, `product`, `project`, `name`, `acl`, `main`) VALUES(3, 0, 1, '项目库', 'open', '1');
-INSERT INTO `zt_doclib` (`id`, `product`, `project`, `name`, `acl`, `main`) VALUES(4, 0, 2, '项目库', 'open', '1');
+INSERT INTO `zt_doclib` (`id`, `type`, `product`, `project`, `name`, `acl`, `main`) VALUES(1, 'product', 1, 0, '产品库', 'default','1');
+INSERT INTO `zt_doclib` (`id`, `type`, `product`, `project`, `name`, `acl`, `main`) VALUES(2, 'product', 2, 0, '产品库', 'default', '1');
+INSERT INTO `zt_doclib` (`id`, `type`, `product`, `project`, `name`, `acl`, `main`) VALUES(3, 'project', 0, 1, '项目库', 'default', '1');
+INSERT INTO `zt_doclib` (`id`, `type`, `product`, `project`, `name`, `acl`, `main`) VALUES(4, 'project', 0, 2, '项目库', 'default', '1');
INSERT INTO `zt_projectproduct` (`project`, `product`) VALUES(1, 1);
INSERT INTO `zt_projectproduct` (`project`, `product`) VALUES(2, 1);
@@ -295,15 +295,15 @@ INSERT INTO `zt_testrun` (`id`, `task`, `case`, `version`, `assignedTo`, `lastRu
INSERT INTO `zt_testtask` (`id`, `name`, `product`, `project`, `build`, `owner`, `begin`, `end`, `desc`, `status`, `deleted`) VALUES(1, '企业网站第一期测试任务', 1, 1, 'trunk', 'testManager', '2012-06-05', '2013-06-21', '', 'wait', '0');
-INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `yahoo`, `gtalk`, `wangwang`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(2, 5, 'productManager', 'e10adc3949ba59abbe56e057f20f883e', 'po', '产品经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338866083, '0');
-INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `yahoo`, `gtalk`, `wangwang`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(3, 6, 'projectManager', 'e10adc3949ba59abbe56e057f20f883e', 'pm', '项目经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338865876, '0');
-INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `yahoo`, `gtalk`, `wangwang`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(4, 2, 'dev1', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发甲', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338863860, '1');
-INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `yahoo`, `gtalk`, `wangwang`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(5, 2, 'dev2', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发乙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338864116, '1');
-INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `yahoo`, `gtalk`, `wangwang`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(6, 2, 'dev3', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发丙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338864187, '1');
-INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `yahoo`, `gtalk`, `wangwang`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(7, 3, 'tester1', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试甲', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338865739, '1');
-INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `yahoo`, `gtalk`, `wangwang`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(8, 3, 'tester2', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试乙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 2, '192.168.0.8', 1338865450, '1');
-INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `yahoo`, `gtalk`, `wangwang`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(9, 3, 'tester3', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试丙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338865125, '1');
-INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `yahoo`, `gtalk`, `wangwang`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(10, 1, 'testManager', 'e10adc3949ba59abbe56e057f20f883e', 'qd', '测试经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 6, '192.168.0.8', 1338865842, '1');
+INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(2, 5, 'productManager', 'e10adc3949ba59abbe56e057f20f883e', 'po', '产品经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338866083, '0');
+INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(3, 6, 'projectManager', 'e10adc3949ba59abbe56e057f20f883e', 'pm', '项目经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338865876, '0');
+INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(4, 2, 'dev1', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发甲', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338863860, '1');
+INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(5, 2, 'dev2', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发乙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338864116, '1');
+INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(6, 2, 'dev3', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发丙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338864187, '1');
+INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(7, 3, 'tester1', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试甲', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338865739, '1');
+INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(8, 3, 'tester2', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试乙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 2, '192.168.0.8', 1338865450, '1');
+INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(9, 3, 'tester3', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试丙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338865125, '1');
+INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(10, 1, 'testManager', 'e10adc3949ba59abbe56e057f20f883e', 'qd', '测试经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 6, '192.168.0.8', 1338865842, '1');
INSERT INTO `zt_usergroup` (`account`, `group`) VALUES('productManager', 5);
INSERT INTO `zt_usergroup` (`account`, `group`) VALUES('projectManager', 4);
diff --git a/db/endemo.sql b/db/endemo.sql
index 536c07c535..d6863101cd 100644
--- a/db/endemo.sql
+++ b/db/endemo.sql
@@ -149,11 +149,11 @@ INSERT INTO `zt_dept` (`id`, `name`, `parent`, `path`, `grade`, `order`, `positi
(5, 'Dev 1', 2, ',2,5,', 2, 10, '', '', ''),
(6, 'Dev 2', 2, ',2,6,', 2, 20, '', '', '');
-INSERT INTO `zt_doclib` (`id`, `product`, `project`, `name`, `acl`, `groups`, `users`, `main`, `order`, `deleted`) VALUES
-(1, 1, 0, 'Product Main Library', 'open', '', '', '1', 0, '0'),
-(2, 0, 1, 'Project Main Library', 'open', '', '', '1', 0, '0'),
-(3, 2, 0, 'Product Main Library', 'open', '', '', '1', 0, '0'),
-(4, 0, 2, 'Project Main Library', 'open', '', '', '1', 0, '0');
+INSERT INTO `zt_doclib` (`id`, `type`, `product`, `project`, `name`, `acl`, `groups`, `users`, `main`, `order`, `deleted`) VALUES
+(1, 'product', 1, 0, 'Product Main Library', 'default', '', '', '1', 0, '0'),
+(2, 'project', 0, 1, 'Project Main Library', 'default', '', '', '1', 0, '0'),
+(3, 'product', 2, 0, 'Product Main Library', 'default', '', '', '1', 0, '0'),
+(4, 'project', 0, 2, 'Project Main Library', 'default', '', '', '1', 0, '0');
INSERT INTO `zt_history` (`id`, `action`, `field`, `old`, `new`, `diff`) VALUES
(1, 7, 'desc', 'Finish developing system drive program.', 'Add advanced features such as remote desktop.', '001- Finish developing system drive program.\n001+ Add advanced features such as remote desktop. '),
@@ -328,7 +328,7 @@ INSERT INTO `zt_testsuite` (`id`, `product`, `name`, `desc`, `type`, `addedBy`,
INSERT INTO `zt_testtask` (`id`, `name`, `product`, `project`, `build`, `owner`, `pri`, `begin`, `end`, `mailto`, `desc`, `report`, `status`, `deleted`) VALUES
(1, 'test for blog v0.1', 2, 2, '2', 'thePO', 0, '2018-01-05', '2018-01-20', '', '', '', 'wait', '0');
-INSERT INTO `zt_user` (`dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `yahoo`, `gtalk`, `wangwang`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `fails`, `locked`, `ranzhi`, `score`, `scoreLevel`, `deleted`) VALUES
+INSERT INTO `zt_user` (`dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `fails`, `locked`, `ranzhi`, `score`, `scoreLevel`, `deleted`) VALUES
(1, 'thePO', 'e10adc3949ba59abbe56e057f20f883e', 'po', 'Richard', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '127.0.0.1', 1513093950, 0, '0000-00-00 00:00:00', '', 0, 0, '0'),
(5, 'pm1', 'e10adc3949ba59abbe56e057f20f883e', 'pm', 'Daniel', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 2, '127.0.0.1', 1513093318, 0, '0000-00-00 00:00:00', '', 0, 0, '0');
diff --git a/db/standard/zentao10.6.sql b/db/standard/zentao10.6.sql
new file mode 100644
index 0000000000..74c06da860
--- /dev/null
+++ b/db/standard/zentao10.6.sql
@@ -0,0 +1,968 @@
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`),
+ UNIQUE KEY `chatuser` (`cgid`,`user`),
+ KEY `cgid` (`cgid`),
+ KEY `user` (`user`),
+ KEY `order` (`order`),
+ KEY `star` (`star`),
+ KEY `hide` (`hide`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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,
+ `contentType` enum('text','plain','emotion','image','file','object') NOT NULL DEFAULT 'text',
+ `data` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `mgid` (`gid`),
+ KEY `mcgid` (`cgid`),
+ KEY `muser` (`user`),
+ KEY `mtype` (`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+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;
+CREATE TABLE `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;
+CREATE TABLE `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`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_notify` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(9) 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,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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.0',
+ `estimate` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `consumed` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `left` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `order` tinyint(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_userview` (
+ `account` char(30) NOT NULL,
+ `products` mediumtext NOT NULL,
+ `projects` mediumtext NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
diff --git a/db/standard/zentao11.0.sql b/db/standard/zentao11.0.sql
new file mode 100644
index 0000000000..d50ded5942
--- /dev/null
+++ b/db/standard/zentao11.0.sql
@@ -0,0 +1,969 @@
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`),
+ UNIQUE KEY `chatuser` (`cgid`,`user`),
+ KEY `cgid` (`cgid`),
+ KEY `user` (`user`),
+ KEY `order` (`order`),
+ KEY `star` (`star`),
+ KEY `hide` (`hide`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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,
+ `contentType` enum('text','plain','emotion','image','file','object') NOT NULL DEFAULT 'text',
+ `data` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `mgid` (`gid`),
+ KEY `mcgid` (`cgid`),
+ KEY `muser` (`user`),
+ KEY `mtype` (`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+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;
+CREATE TABLE `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;
+CREATE TABLE `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`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_notify` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(9) 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,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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.0',
+ `estimate` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `consumed` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `left` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `order` tinyint(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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',
+ `clientStatus` enum('online','away','busy','offline') NOT NULL DEFAULT 'offline',
+ `clientLang` varchar(10) NOT NULL DEFAULT 'zh-cn',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_userview` (
+ `account` char(30) NOT NULL,
+ `products` mediumtext NOT NULL,
+ `projects` mediumtext NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
diff --git a/db/standard/zentao11.1.sql b/db/standard/zentao11.1.sql
new file mode 100644
index 0000000000..d50ded5942
--- /dev/null
+++ b/db/standard/zentao11.1.sql
@@ -0,0 +1,969 @@
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`),
+ UNIQUE KEY `chatuser` (`cgid`,`user`),
+ KEY `cgid` (`cgid`),
+ KEY `user` (`user`),
+ KEY `order` (`order`),
+ KEY `star` (`star`),
+ KEY `hide` (`hide`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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,
+ `contentType` enum('text','plain','emotion','image','file','object') NOT NULL DEFAULT 'text',
+ `data` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `mgid` (`gid`),
+ KEY `mcgid` (`cgid`),
+ KEY `muser` (`user`),
+ KEY `mtype` (`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+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;
+CREATE TABLE `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;
+CREATE TABLE `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`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_notify` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(9) 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,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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.0',
+ `estimate` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `consumed` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `left` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `order` tinyint(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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',
+ `clientStatus` enum('online','away','busy','offline') NOT NULL DEFAULT 'offline',
+ `clientLang` varchar(10) NOT NULL DEFAULT 'zh-cn',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_userview` (
+ `account` char(30) NOT NULL,
+ `products` mediumtext NOT NULL,
+ `projects` mediumtext NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
diff --git a/db/standard/zentao11.2.sql b/db/standard/zentao11.2.sql
new file mode 100644
index 0000000000..c7a14b36fc
--- /dev/null
+++ b/db/standard/zentao11.2.sql
@@ -0,0 +1,902 @@
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `pathname` char(50) 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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_notify` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(9) 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,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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` varchar(255) 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;
+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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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.0',
+ `estimate` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `consumed` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `left` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `order` tinyint(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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 `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_userview` (
+ `account` char(30) NOT NULL,
+ `products` mediumtext NOT NULL,
+ `projects` mediumtext NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
diff --git a/db/standard/zentao11.3.sql b/db/standard/zentao11.3.sql
new file mode 100644
index 0000000000..70d7bf65d0
--- /dev/null
+++ b/db/standard/zentao11.3.sql
@@ -0,0 +1,904 @@
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_notify` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(9) 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,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `parent` mediumint(9) NOT NULL DEFAULT '0',
+ `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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` varchar(255) 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;
+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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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.0',
+ `estimate` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `consumed` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `left` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `order` tinyint(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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 '',
+ `mobile` char(11) NOT NULL DEFAULT '',
+ `phone` char(20) NOT NULL DEFAULT '',
+ `weixin` varchar(90) NOT NULL DEFAULT '',
+ `dingding` varchar(90) NOT NULL DEFAULT '',
+ `slack` varchar(90) NOT NULL DEFAULT '',
+ `whatsapp` varchar(90) 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 `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_userview` (
+ `account` char(30) NOT NULL,
+ `products` mediumtext NOT NULL,
+ `projects` mediumtext NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
diff --git a/db/standard/zentao11.4.1.sql b/db/standard/zentao11.4.1.sql
new file mode 100644
index 0000000000..c586b805c0
--- /dev/null
+++ b/db/standard/zentao11.4.1.sql
@@ -0,0 +1,906 @@
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_burn` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `task` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ PRIMARY KEY (`project`,`date`,`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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,
+ `fromCaseVersion` 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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_notify` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(9) 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,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `parent` mediumint(9) NOT NULL DEFAULT '0',
+ `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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` varchar(255) 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;
+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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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.0',
+ `estimate` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `consumed` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `left` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `order` tinyint(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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 '',
+ `mobile` char(11) NOT NULL DEFAULT '',
+ `phone` char(20) NOT NULL DEFAULT '',
+ `weixin` varchar(90) NOT NULL DEFAULT '',
+ `dingding` varchar(90) NOT NULL DEFAULT '',
+ `slack` varchar(90) NOT NULL DEFAULT '',
+ `whatsapp` varchar(90) 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 `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_userview` (
+ `account` char(30) NOT NULL,
+ `products` mediumtext NOT NULL,
+ `projects` mediumtext NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
diff --git a/db/standard/zentao11.4.sql b/db/standard/zentao11.4.sql
new file mode 100644
index 0000000000..afbed37c8c
--- /dev/null
+++ b/db/standard/zentao11.4.sql
@@ -0,0 +1,905 @@
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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,
+ `fromCaseVersion` 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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_notify` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(9) 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,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `parent` mediumint(9) NOT NULL DEFAULT '0',
+ `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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` varchar(255) 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;
+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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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.0',
+ `estimate` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `consumed` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `left` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',
+ `order` tinyint(3) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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 '',
+ `mobile` char(11) NOT NULL DEFAULT '',
+ `phone` char(20) NOT NULL DEFAULT '',
+ `weixin` varchar(90) NOT NULL DEFAULT '',
+ `dingding` varchar(90) NOT NULL DEFAULT '',
+ `slack` varchar(90) NOT NULL DEFAULT '',
+ `whatsapp` varchar(90) 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 `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `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;
+CREATE TABLE `zt_userview` (
+ `account` char(30) NOT NULL,
+ `products` mediumtext NOT NULL,
+ `projects` mediumtext NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `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;
diff --git a/db/update11.1.sql b/db/update11.1.sql
new file mode 100644
index 0000000000..53bb4617fc
--- /dev/null
+++ b/db/update11.1.sql
@@ -0,0 +1 @@
+ALTER TABLE `zt_release` CHANGE `name` `name` varchar(255) COLLATE 'utf8_general_ci' NOT NULL DEFAULT '' AFTER `build`;
diff --git a/db/update11.2.sql b/db/update11.2.sql
new file mode 100644
index 0000000000..e66d96995b
--- /dev/null
+++ b/db/update11.2.sql
@@ -0,0 +1,7 @@
+update `zt_build` set `deleted`='1' where `project`='0' and `id` in (select `build` from `zt_release` where `deleted`='1');
+ALTER TABLE `zt_productplan` ADD `parent` mediumint(9) NOT NULL DEFAULT '0' AFTER `branch`;
+ALTER TABLE `zt_action` CHANGE `actor` `actor` varchar(100) COLLATE 'utf8_general_ci' NOT NULL DEFAULT '' AFTER `project`;
+ALTER TABLE `zt_user` ADD `weixin` varchar(90) COLLATE 'utf8_general_ci' NOT NULL AFTER `phone`;
+ALTER TABLE `zt_user` ADD `dingding` varchar(90) COLLATE 'utf8_general_ci' NOT NULL AFTER `weixin`;
+ALTER TABLE `zt_user` ADD `slack` varchar(90) COLLATE 'utf8_general_ci' NOT NULL AFTER `dingding`;
+ALTER TABLE `zt_user` ADD `whatsapp` varchar(90) COLLATE 'utf8_general_ci' NOT NULL AFTER `slack`;
diff --git a/db/update11.3.sql b/db/update11.3.sql
new file mode 100644
index 0000000000..4590ec04c2
--- /dev/null
+++ b/db/update11.3.sql
@@ -0,0 +1 @@
+ALTER TABLE `zt_case` ADD `fromCaseVersion` mediumint(8) unsigned NOT NULL AFTER `fromCaseID`;
diff --git a/db/update11.4.sql b/db/update11.4.sql
new file mode 100644
index 0000000000..0a36f6bf6e
--- /dev/null
+++ b/db/update11.4.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `zt_burn` ADD `task` mediumint(8) unsigned NOT NULL DEFAULT '0' AFTER `project`;
+ALTER TABLE `zt_burn` ADD PRIMARY KEY `project_date_task` (`project`, `date`, `task`), DROP INDEX `PRIMARY`;
diff --git a/db/zentao.sql b/db/zentao.sql
index 95ef0d351b..6f1175eb92 100644
--- a/db/zentao.sql
+++ b/db/zentao.sql
@@ -5,7 +5,7 @@ CREATE TABLE IF NOT EXISTS `zt_action` (
`objectID` mediumint(8) unsigned NOT NULL default '0',
`product` varchar(255) NOT NULL,
`project` mediumint(9) NOT NULL,
- `actor` varchar(30) NOT NULL default '',
+ `actor` varchar(100) NOT NULL default '',
`action` varchar(30) NOT NULL default '',
`date` datetime NOT NULL,
`comment` text NOT NULL,
@@ -125,11 +125,12 @@ CREATE TABLE IF NOT EXISTS `zt_build` (
-- DROP TABLE IF EXISTS `zt_burn`;
CREATE TABLE IF NOT EXISTS `zt_burn` (
`project` mediumint(8) unsigned NOT NULL,
+ `task` mediumint(8) unsigned NOT NULL DEFAULT '0',
`date` date NOT NULL,
`estimate` float NOT NULL,
`left` float NOT NULL,
`consumed` float NOT NULL,
- PRIMARY KEY (`project`,`date`)
+ PRIMARY KEY (`project`,`date`,`task`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- DROP TABLE IF EXISTS `zt_case`;
CREATE TABLE IF NOT EXISTS `zt_case` (
@@ -166,6 +167,7 @@ CREATE TABLE IF NOT EXISTS `zt_case` (
`linkCase` varchar(255) NOT NULL,
`fromBug` mediumint(8) unsigned NOT NULL,
`fromCaseID` mediumint(8) unsigned NOT NULL,
+ `fromCaseVersion` mediumint(8) unsigned NOT NULL,
`deleted` enum('0','1') NOT NULL default '0',
`lastRunner` varchar(30) NOT NULL,
`lastRunDate` datetime NOT NULL,
@@ -461,6 +463,7 @@ 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,
+ `parent` mediumint(9) NOT NULL DEFAULT '0',
`title` varchar(90) NOT NULL,
`desc` text NOT NULL,
`begin` date NOT NULL,
@@ -533,7 +536,7 @@ CREATE TABLE IF NOT EXISTS `zt_release` (
`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 '',
+ `name` varchar(255) NOT NULL default '',
`marker` enum('0','1') NOT NULL default '0',
`date` date NOT NULL,
`stories` text NOT NULL,
@@ -815,11 +818,12 @@ CREATE TABLE IF NOT EXISTS `zt_user` (
`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 '',
+ `weixin` varchar(90) NOT NULL default '',
+ `dingding` varchar(90) NOT NULL default '',
+ `slack` varchar(90) NOT NULL default '',
+ `whatsapp` varchar(90) NOT NULL default '',
`address` char(120) NOT NULL default '',
`zipcode` char(10) NOT NULL default '',
`join` date NOT NULL default '0000-00-00',
@@ -1249,6 +1253,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(1, 'story', 'create'),
(1, 'story', 'delete'),
(1, 'story', 'edit'),
+(1, 'story', 'assignTo'),
(1, 'story', 'batchChangeModule'),
(1, 'story', 'linkStory'),
(1, 'story', 'unlinkStory'),
@@ -2713,6 +2718,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(7, 'story', 'create'),
(7, 'story', 'delete'),
(7, 'story', 'edit'),
+(7, 'story', 'assignTo'),
(7, 'story', 'batchChangeModule'),
(7, 'story', 'linkStory'),
(7, 'story', 'unlinkStory'),
diff --git a/doc/CHANGELOG b/doc/CHANGELOG
index 5ea9a9f536..293cc42f50 100644
--- a/doc/CHANGELOG
+++ b/doc/CHANGELOG
@@ -1,3 +1,232 @@
+2019-03-25 11.4.1
+完善细节,修复bug。
+完成相关调整支持专业版里相关功能。
+
+2019-03-25 11.4.stable
+完成的需求:
+2584 国际版本去掉用户列表的首字母功能
+2600 在新手教程中,像真实系统一样,明确提示哪些项目是必填项。
+2601 将由我关闭的需求,合并的我的需求中去。
+2602 增加控件的宽度,以完整显示内容(几乎所有搜索区域都需要调整)
+2603 删除自定义查询后,上方菜单中的也要删除这项。
+2606 修改国际版中链接的指向,希望指向英文站的论坛
+2608 QA/CASE中的数据表格的自定义列 的页面,国际版有多处内容被遮挡(自定义列页面有相似的问题)。
+2609 调整文档首页的显示宽度
+2610 将国际版中的专业版链接,重定向到专业版介绍页面
+2612 用户注册页面,对于国际版,删除手册验证码
+2613 永久关闭的区块页面,如果没有要显示的,希望显示"无永久关闭的区块",现在是空白
+2614 在国际版中,调整指各中文网站的链接
+2615 在国际版中,希望将英文协议显示在上方
+2616 安装时,希望在成功删除install.php后,不要再提示删除
+2617 产品概况中,如果是英文,程序拼接时需要加空格。
+2618 看板切换为英文后,表头与主体错位
+2619 燃尽图的帮助 ,目前 跳转到404了。
+2862 项目关联产品有变化的时候记录日志到项目-概况的历史记录中
+2902 测试报告英文需要修改
+2903 禅道英文官网,用户登录会员中心界面字段未完全显示
+2905 英文与禅道官网,用户中心翻译改动
+2937 英文DEMO使用教程创建项目时关联产品排版问题
+2938 国际版本后台自定义流程默认设置为Product/Sprint
+2958 zentao,runner官网链接文中文站
+3063 调整index页面的"版本试用"的构成方式,做到兼容中英文
+3078 国际安装包的登录页的默认标题调整为"Zentao ALM"
+3079 列宽的设置兼顾英文
+3080 调整燃尽图的帮助文档的指向
+3440 文档分类下只显示当前分类下的子分类和文档
+3503 增加取消子任务父子关系的功能
+3535 bug列表严重程度颜色区分不明显
+3547 使用子任务管理测试类型的任务
+3561 优化版本关联需求页面的关联需求按钮
+3568 需求增加指派操作
+3570 富文本编辑器里面的url地址加链接
+3581 云禅道英文版中项目视图中的权限名称翻译的不准确
+3582 看板增加需求分解的功能
+3584 更改禅道软件中的中文和英文的用词
+3587 从用例库导入的用例提示同步时,加个忽略按钮。
+3588 任务详情中显示进度信息
+3593 编辑文档页面右上角增加一个保存按钮
+3595 调整文档按照卡片浏览时的布局
+3596 调整文档按照列表浏览时表头的对齐方式
+3599 将创建产品和项目的按钮提升到二级菜单中
+3603 修改框架里fetch方法,可以fetch同模块扩展的方法
+解决的bug:
+1529 改变列表排序方式后,详情页里面的翻页顺序错乱
+1838 项目任务、需求模块不一致
+2435 自动计算的可用天数不正确
+2443 打开首次登录修改密码后,使用客户端可以正常登录禅道
+2457 测试单执行用例跳转问题
+2458 zbox一键安装包ubuntu18安装异常
+2459 最新zbox无法解析钉钉主机
+2466 多人任务指派问题
+2467 导出任务时子任务重复
+
+2019-02-27 11.3.stable
+完成的需求
+3579 发信的时候增加环境变量避免dns解析超时
+3578 优化chosen控件下拉之后的交互
+3577 搜索表单展开多项条件搜索之后应当保持表单状态
+3576 里程碑发布增加文字提示
+3575 增加时区设置
+3574 产品、项目文档库和文档权限控制增加文字提示
+3572 增加父子计划之后增加调整路线图的呈现方式
+3571 计划增加子计划概念
+3567 自定义文档库和手册可以进行排序
+3563 优化应用集成禅道功能
+3562 任务工时管理中录入的备份信息过长可以悬浮显示
+3548 需求详情页面相关信息不以剧中方式显示
+3538 去掉雅虎通、旺旺的字段
+3536 项目没有创建版本,在项目下提交测试单可以提示创建版本
+3511 补充完整文档库设置按钮的菜单
+3504 组织-用户下查看任务,延期的任务会标记显示
+3501 需求详情等页面的删除icon调整
+3499 创建文档的时候引导用户创建文档的类型
+3490 文档库左侧的列表和产品项目视图的下拉菜单保持一致
+3489 优化文档库创建的页面
+3488 没有文档库时在左侧导航增加添加文档库的入口
+3483 产品视图左上角产品下拉框宽度增加一些
+3466 添加编辑区块时新增状态选择
+3464 浏览文档列表时时间显示完整年份
+3463 预览图片类的文档的时候会出现两个删除按钮
+3462 文档详情页面的全屏按钮增加文字并记录状态
+3458 bug列表页面将严重程度放到优先级前面
+3457 解决bug的时候将closed帐号从指派给列表中去掉
+3454 评审需求时优先级和工时信息应当将现在的值读取出来
+3453 梳理windows和linux一键安装包里面的链接地址
+3446 需求变更时光标到需求名称无需title
+3420 延期bug在详情页面截止日期后显示延期几天
+3419 bug延期后在列表页面截止日期字段标红提示
+2920 用例库的用例更改之后自动更新其关联的测试用例
+修复的Bug
+2311 开源版集成git,git用户名过长无法正常同步
+2332 取消浏览器自动填充信息
+2410 批量分解需求,同需求按钮位置需要优化
+2413 附件上传安全限制功能异常
+2421 用户有组织视图权限访问company-browse.json会显示所有用户密码md5值
+2424 每日任务提醒邮件中不显示任务的截止时间
+2425 需求关联需求后,无法取消
+2426 升级的时候提示错误信息
+2427 树状图展示数据错误
+2440 二级子模块不可以调整为一级父模块
+
+2019-01-29 11.2.stable
+完成的需求
+3553 集成喧喧2.4版本,国际版企业版集成喧喧2.4,国内和国际的版本升级程序要区分处理
+3552 升级执行sql后需要进行数据库结构的检查
+3542 通过配置的方式定义各个对象的创建和编辑接口需要传入的参数
+3541 移除禅道里配置喧喧和下载xxd与xxd配置文件的相关代码,不同的地方通过扩展来处理
+3540 调整需求和任务,bug优先级的样式
+3537 增强用户录入操作的提示
+3531 dockerfile启动命令中增加修复目录权限的功能
+3530 在创建需求、bug时产品下拉菜单保持和导航里面一致
+3529 发布列表页面增加里程碑的显示
+3527 zbox启动的时候自动修复目录权限
+3526 内嵌禅道手册都是用https协议的
+3460 计划关联bug的时候将已经转为任务的也计算在内
+3060 增加升级日志功能
+修复的Bug
+2008 文档收藏按钮无效
+2061 用户密码包含#时,配置单点登录提示密码错误
+2234 自定义用户职位后,项目团队中添加成员时角色不会带出自定义添加的职位
+2235 自定义已有用户职位,项目团队中添加成员时角色还是显示原来职位
+2246 edge浏览器下载附件的名称乱码
+2314 需求分组统计错误
+2334 大文件备份异常
+2347 新建用例查看需求页面无法返回
+2354 受限权限分组用户可以在列表对数据进行指派
+2355 编辑部门的负责人支持检索
+2359 没有备注权限在待办中还可以看到备注按钮
+2361 客户端创建需求提示错误
+2363 批量创建用例所属模块修改后不能选择相应模块下的需求
+2364 项目没有关联产品下需求,在维护项目模块时可以显示产品下模块
+2366 禅道的客户端修改密码后不能登录
+2367 计划需求列表移除需求之后,底部的统计结果并没有重新计算
+2368 弹窗录入信息后右上角的差号消失
+2369 批量分解需求时会把html实体转义
+2370 文档库访问权限设置后再清空保存不生效
+2371 关闭的项目可以在搜索栏访问
+2373 我的地盘总览bug数和我的地盘bug列表数不一致
+2374 员工负载表对多人任务统计不准确
+2375 客户端上访问禅道的不能正常添加用户
+2376 在已有模块中插入模块保存后新模块会排序到最后
+2377 批量编辑用户不能修改职位为空
+2378 执行用例结果选择失败不会转到下个用例
+2379 客户端在浏览器窗口中打开链接导致无限循环请求
+2380 测试用例下不应该显示指派分组
+2382 客户端修改禅道用户信息无法保存
+2383 下载客户端弹窗页面需要优化
+2384 自定义导航公共无法保存
+2386 客户端服务器设置页面,提示文案修改
+2389 自定义列出删除用户无法保存
+2390 移动文档库分类文档不能同步移动
+2391 多分支多平台产品提bug提用例所属模块问题
+2392 地盘区块中的项目数量与地盘项目列表中的数量不一致
+2393 IE11富文本编辑器兼容问题
+2394 动态如果没有权限查看就全都不显示
+2396 计划任务备份报错
+2397 禅道升级功能优化
+2398 组织权限用户列表样式重叠
+2400 自定义导航栏问题
+2402 没有文档的访问权限也可以在附件库中下载文档中的附件
+2403 创建项目页面导航栏显示的是测试
+2404 修改集成客户端中的禅道服务器,发信配置中的禅道域名会同步修改
+2406 需求页面建用例不能同步
+
+2019-01-04 11.1.stable
+解决的Bug
+2362 后台自定义存在注入问题
+2361 客户端创建需求提示错误
+2358 新手教程功能异常
+2357 燃尽图没有统计到父子任务的工时信息
+2356 用例导出不能导出实际情况字段
+2352 任务列表指派后跳转页面异常
+2351 组织动态显示的数量异常
+2350 在平台批量提需求第二行后显示为所有平台
+2348 文档库分类排序后文档列表顺序错乱
+2346 地盘区块中的任务数量与列表中的数量不一致
+2345 php7.2版本代码兼容
+2344 多人任务修改团队顺序后不起作用
+2341 已删除的文档还会在文档分类下统计
+2336 父子任务状态同步问题
+2333 测试单的用例分组显示问题
+2328 编辑任务保存后预计剩余会自动清零
+2325 编辑器ie11兼容问题
+2324 项目任务列表统计规则问题
+2323 项目测试单生成测试报告问题
+2322 发布功能异常
+2319 app访问测试用例库报错
+2317 修改个人档案选择出生日年右上角关闭按钮消失
+2304 ie浏览器编辑器点击上传图片按钮页面不显示内容
+2301 测试管理工具中没有创建用例库的入口
+2300 甘特图插件中父子任务不显示
+2299 区块工时统计问题
+2297 ie浏览器录入任务工时,选择日期后工时输入框光标不显示
+2274 项目-需求列表用例覆盖率计算错误
+2273 用例列表隐藏模块功能异常
+2265 组织用户查看由某个用户完成的bug,数据不准确
+2251 项目任务下必填字段问题
+2249 看板高度问题
+2248 访问不存在的网址暴露服务器信息
+2232 修改用例后优先级会自动改变
+2186 用例执行失败转bug后跳转页面不对
+
+2018-12-21 11.0.stable
+完成的需求
+3482 集成喧喧的广播接口
+3481 精简喧喧的配置文件
+3480 一键安装包集成喧喧的服务
+3479 完善在卡片里面操作按钮的二次点击行为
+3478 完善集成之后喧喧消息转为需求、任务、待办、bug、文档的功能
+3477 确定在喧喧客户端可以渲染的页面
+3476 优化在喧喧里面打开的禅道的卡片样式
+3475 设计喧喧客户端的登录界面
+3474 消息通知设置里面增加喧喧客户端选项
+3473 提示用户是否下载喧喧客户端
+3472 增加是否启用喧喧聊天功能开关
+3470 在喧喧客户端直接加上禅道的应用导航
+3469 实现喧喧聊天客户端的在线下载功能
+3468 在后台应用集成中增加喧喧服务器配置下载的功能
+3467 在禅道代码里面直接内置喧喧聊天模块
+
2018-11-20 10.6.stable
完成的需求
3424 测试mysql8下面的兼容性
@@ -444,21 +673,21 @@
处理各个首页区块自定义区块的历史数据
后台工作方式切换后,检查各个模块导航是否正确,页面样式是否正确
检查新手教程
-3989 我的地盘样式调整
-4133 调整表格列表界面
-4142 项目任务分组视图若干问题调整
-4143 项目任务树状图若干问题调整
-4146 批量创建用例页面调整
-4147 批量创建任务页面调整
-4148 任务列表页面调整
-4162 弹窗有问题需要调整的页面
-4164 搜索,保存搜索条件,显示在菜单栏会导致菜单换行的问题
-4165 用例列表和用例详情界面,用例相关需求变更后,用例确认变更样式需要调整
-4179 多人任务,团队成员显示不全
-4182 列表页面,优先级、严重级别等自定义后加title
-4192 重构侧边栏展开折叠插件
-4193 所有创建页面,去掉大尺寸样式(图一),统一成小尺寸样式(图二)
-4194 模块栏目展开收起的交互方式
+3989 我的地盘样式调整
+4133 调整表格列表界面
+4142 项目任务分组视图若干问题调整
+4143 项目任务树状图若干问题调整
+4146 批量创建用例页面调整
+4147 批量创建任务页面调整
+4148 任务列表页面调整
+4162 弹窗有问题需要调整的页面
+4164 搜索,保存搜索条件,显示在菜单栏会导致菜单换行的问题
+4165 用例列表和用例详情界面,用例相关需求变更后,用例确认变更样式需要调整
+4179 多人任务,团队成员显示不全
+4182 列表页面,优先级、严重级别等自定义后加title
+4192 重构侧边栏展开折叠插件
+4193 所有创建页面,去掉大尺寸样式(图一),统一成小尺寸样式(图二)
+4194 模块栏目展开收起的交互方式
修复的bug:
组织-用户,所有的用户都显示 解除然之绑定 和解锁用户,按钮
自定义值较长时,字体颜色和背景色块没法区分
@@ -484,7 +713,7 @@
需求复制页面变形
1775 批量操作页面,多项录入不生效。
1773 列表页的自定义表单项,都不生效。
-1768 导入csv的弹窗页面,需要优化一下,上下间距有点宽。 导入后,提示覆盖还是全新导入页面上方有一条白线
+1768 导入csv的弹窗页面,需要优化一下,上下间距有点宽。 导入后,提示覆盖还是全新导入页面上方有一条白线
1762 无产品无项目时,提示 添加的 文案。 + 和后面添加产品、添加项目的间隔宽度统一一下。
1761 批量页面,可以自定义表单项的,需要考虑勾选所有字段时,页面的显示问题。现在把所有的字段都勾选后,表头字段有超出页面宽度
1759 搜索,保存已搜索结果。名称长的,没加title
@@ -511,7 +740,7 @@
1729 权限--视图维护,产品和项目不显示填写框。(无产品项目)
1727 部门折叠展开按钮的显示位置要调整。
1724 统计,测试,Bug创建表,选择产品和项目时,刷新选择框,显示的样式不对。
-1722 项目起止时间选择框,宽度不一致。前面窄后面的宽。
+1722 项目起止时间选择框,宽度不一致。前面窄后面的宽。
1721 产品附件库,显示切换条目数,没记录。下次再访问时,还原为默认的条目数。
1720 检查一下,最近更新列表,文档的大小不显示。
1719 文档详情页,添加备注弹窗页面,编辑器显示变形。
@@ -530,30 +759,30 @@
1699 创建和编辑Bug,类型和操作系统,有分隔开。
1698 创建Bug,重现步骤,编辑器里下方空白太多,步骤结果期望可以空一行。鼠标点击时,显示一个蓝色边框,需要优化一下
1693 Bug列表页没有Bug时,提示文案:暂时没有BUG,您现在可以提Bug。BUG都同统一显示为Bug
-1692 套件切换,没有高亮
+1692 套件切换,没有高亮
1691 列表页,分组查看,折叠时,没有统计数据
-1690 列表页,分组查看,不高亮
+1690 列表页,分组查看,不高亮
1689 导入csv,点击覆盖和全新插入,都没有导入成功
1688 列表ID显示为1、2,其他的显示为001、002。建议统一为001、002显示
1685 测试单,没关联用例时,模块下有个空白的区块,优化一下
-1681 项目-bug,列表页,确认弹窗页面,指派给框宽度不够
+1681 项目-bug,列表页,确认弹窗页面,指派给框宽度不够
1680 项目-Bug,导出数据,弹窗有2个页面,关闭时页面还有个关闭按钮图标。多次点击都关闭不了
1679 管理团队,最后一个填写框,下拉选择会被遮住一部分,选择不了用户。是否下拉向上显示
-1675 项目需求看板,点击需求标题,需求详情弹窗页面。操作栏没有操作按钮图标,但是有个色块。如果这个页面不让操作,把操作栏隐藏
-1674 导出数据,弹窗页面,自定义的模板多的话,不点击设置,选择模板下拉框会显示不完整,有的模板无法选择
-1673 项目下需求,导出数据,选中数据,点击导出,页面不跳转不提示,无法导出
+1675 项目需求看板,点击需求标题,需求详情弹窗页面。操作栏没有操作按钮图标,但是有个色块。如果这个页面不让操作,把操作栏隐藏
+1674 导出数据,弹窗页面,自定义的模板多的话,不点击设置,选择模板下拉框会显示不完整,有的模板无法选择
+1673 项目下需求,导出数据,选中数据,点击导出,页面不跳转不提示,无法导出
1672 导出数据,自定义设置多字段,由谁评审和抄送给显示的是逗号
1670 没关联需求时,所有模块下,显示空白的方框,是否优化一下显示
1668 编辑任务,标题必填项标识显示位置需要调整
1667 编辑任务,高亮的是任务列表和概况
-1666 多人任务和子任务详情页,任务标题前的子/多的样式不突出,背景色比较相近
-1664 版本,版本详情,描述显示时有换行,错行显示看着不大好
+1666 多人任务和子任务详情页,任务标题前的子/多的样式不突出,背景色比较相近
+1664 版本,版本详情,描述显示时有换行,错行显示看着不大好
1663 看板,导出数据,是否隐藏掉选择数据,因为没法选中
-1661 看板,任务详情弹窗页,操作按钮的显示逻辑。一些没操作的,是否可以不显示。目前没操作的显示一个操作条
+1661 看板,任务详情弹窗页,操作按钮的显示逻辑。一些没操作的,是否可以不显示。目前没操作的显示一个操作条
1658 树状图,只看需求、只看任务,高亮方式是否和一级二级菜单高亮一致。现在是加上蓝色边框
1657 树状图,点需求,右侧需求详情页,历史记录点添加备注,备注弹窗没有编辑器
1656 树状图,先删除需求,然后点取消,再点编辑,保存。会提示是否删除该需求
-1655 分组视图,完成者和关闭者分组查看时,未完成和未关闭的不显示标签名称
+1655 分组视图,完成者和关闭者分组查看时,未完成和未关闭的不显示标签名称
1654 任务列表页,关联需求已变更,需要确认变更。右侧操作只显示确认变更按钮,其他的不显示。需要确认一下
1653 批量创建任务,多项录入,保存后,一直在转圈,不成功
1650 编辑项目,关联计划字段没有,不能编辑和置空关联的计划。确认一下是否设计如此
@@ -565,7 +794,7 @@
1641 复制项目,提示没有可用的项目,颜色为黄色背景为粉色。 与系统其他的提示样式,保持一致
1640 列表页是否显示模块名,设置页面,保存按钮样式还是旧的
1639 维护多层级的模块时,模块名和箭头图标有换行,希望在一行显示
-1638 动态折叠时,显示1条半信息,希望显示完整,显示1条或者2条
+1638 动态折叠时,显示1条半信息,希望显示完整,显示1条或者2条
1637 用户没有任何动态信息时,显示的是一个空白的区块,希望优化显示当用户无产品动态的显示
1636 产品,动态,在某个标签下,切换用户,标签高亮丢失
1635 产品-路线图,计划描述显示占很多位置,路线图不在一条线上
@@ -592,8 +821,8 @@
1602 新增待办,默认的日期显示不完整
1601 版本列表区块,版本ID显示为1、2,统一为001、002
1600 Bug详情页,解决操作没有图标,严重程度图标数字太靠上
-1599 右上角,用户名--切换语言。显示的是英文 language ,简体和繁体下应显示为中文
-1597 永久关闭区块的提示文案,第二句开头少一个‘关’字,最后少个句号 [BUG#1597]
+1599 右上角,用户名--切换语言。显示的是英文 language ,简体和繁体下应显示为中文
+1597 永久关闭区块的提示文案,第二句开头少一个‘关’字,最后少个句号 [BUG#1597]
1595 我的地盘里,编辑页面的 保存和取消 按钮的间距宽度比较宽,是否整个系统里统一一下保存和取消(返回)的间距宽度
1592 我的待办区块,添加待办成功后,跳转到区块底部
1591 我的待办区块,点击待办名称,然后编辑,待办名称必填项与边框有重叠
@@ -601,7 +830,7 @@
1589 新安装,导入demo数据,有1个空的长区块。(项目统计)
1588 新安装,未导入demo数据,有2个空的长区块。(项目统计、产品统计)
1587 9.0升级到10.0,升级成功,登录禅道,admin登录,提示没有首页的权限,重新登录就正常了
-1586 低版本升级到10.0,提示数据库错误zt_lang
+1586 低版本升级到10.0,提示数据库错误zt_lang
1585 升级成功的页面,然之协同的logo显示不完整
1584 安装成功,登录,强制修改弱密码和修改成功后我的档案页面,需要优化。现在是全屏显示,视觉效果不好。
1583 登录页面,禅道的logo需要再调整一下
@@ -621,7 +850,7 @@
2870 开源版创建bug的时候预留对反馈字段和对反馈转bug的处理
2869 开源版创建需求的时候预留反馈字段和对反馈转需求的处理
修复的Bug
-3805 批量编辑项目,关联过计划的项目,项目描述会带出标签
+3805 批量编辑项目,关联过计划的项目,项目描述会带出标签
3804 项目列表与项目概况的状态不一致。
3803 项目区块类型选择未完成或进行中,会列出已关闭的项目
3802 项目视图,左上角列出的项目只显示已关闭项目
@@ -633,7 +862,7 @@
3788 productModel::getPrivProducts查询速度比较慢
3786 加长项目中团队名称字段的长度
3785 项目-需求页面 关联计划列出项目关联的所有产品的全部计划
-3784 解决任务重复导出的问题
+3784 解决任务重复导出的问题
3783 需求用导出数据的模板导入时,所属计划无法导入
3782 创建项目关联计划的时候会列出已经删除的计划
3781 取消的任务关闭后,项目概况中会记录任务的剩余工时
@@ -864,7 +1093,7 @@
1240 提交需求会列出没有权限查看的产品名称
1244 组织-日志中,选择本月或上月时,结束日期显示准确。
1251 测试用例导出csv文件,报文格式数据不显示
-1255 zbox一键安装包,建议安装 aria_chk
+1255 zbox一键安装包,建议安装 aria_chk
1256 搜索条件为日期介于时间段时,搜索后点击重置,搜索条件还在,需要重新点击搜索,条件才会重置。
1261 批量分解任务无法分配相同名称的任务
1264 没有产品的时候打开debug,进入以下页面会产生大量警告性的错误
@@ -903,40 +1132,40 @@
2017-11-06 9.6.stable
完成的需求
-1988 需求,任务,bug,用例,待办都可以选择看板模式。
-2004 运维性的项目支持多人任务和子任务功能
-2012 所有项目 /所有产品页面增加导出功能
-2033 项目挂起再激活的时候给用户选择是否顺延任务起止时间
-2035 项目需求可以拖动排序
-2048 看板增加任务的暂停状态栏显示
-2108 看板增加显示/隐藏已关闭已取消任务的功能
-2109 看板增加默认展开/折叠任务选项卡的功能
-2110 看板增加自定义设置显示颜色的功能
-2146 迭代,产品区块增加我参与的选项。
-2160 检查自定义表格的字段
-2161 管理员可以自定义所有人用的列表的默认布局。
-2166 产品增加目录管理,方便用户维护产品
-2167 实现基础的积分机制
-2169 实现初始积分的计算功能
-2170 实现积分的实时计算功能
-2171 将积分功能作为开关
-2172 积分区分等级积分和消耗积分
-2173 实现积分的历史记录功能
-2174 获得积分的时候系统给予一定的提示
-2175 优化产品和项目的下拉菜单
-2263 管理员可以将自己的菜单配置作为公共的配置
-2309 优化看板卡片弹出菜单的位置
-2311 自定义数据表格增加恢复默认功能
-2328 禅道中所有列表页面都增加自定义显示字段的功能
-2332 看板可以按照其他的字段进行分组
-2414 实现接口的入口
-2415 实现接口的应用管理
-2416 实现独立的应用入口
-2417 实现应用或者webhook的日志管理和查看
-2418 实现webhook的管理
-2419 可以自定义哪些事件下面可以触发webhook
-2423 各个表单的必填项字段可以自定义
-2425 实现和钉钉的消息通知接口
+1988 需求,任务,bug,用例,待办都可以选择看板模式。
+2004 运维性的项目支持多人任务和子任务功能
+2012 所有项目 /所有产品页面增加导出功能
+2033 项目挂起再激活的时候给用户选择是否顺延任务起止时间
+2035 项目需求可以拖动排序
+2048 看板增加任务的暂停状态栏显示
+2108 看板增加显示/隐藏已关闭已取消任务的功能
+2109 看板增加默认展开/折叠任务选项卡的功能
+2110 看板增加自定义设置显示颜色的功能
+2146 迭代,产品区块增加我参与的选项。
+2160 检查自定义表格的字段
+2161 管理员可以自定义所有人用的列表的默认布局。
+2166 产品增加目录管理,方便用户维护产品
+2167 实现基础的积分机制
+2169 实现初始积分的计算功能
+2170 实现积分的实时计算功能
+2171 将积分功能作为开关
+2172 积分区分等级积分和消耗积分
+2173 实现积分的历史记录功能
+2174 获得积分的时候系统给予一定的提示
+2175 优化产品和项目的下拉菜单
+2263 管理员可以将自己的菜单配置作为公共的配置
+2309 优化看板卡片弹出菜单的位置
+2311 自定义数据表格增加恢复默认功能
+2328 禅道中所有列表页面都增加自定义显示字段的功能
+2332 看板可以按照其他的字段进行分组
+2414 实现接口的入口
+2415 实现接口的应用管理
+2416 实现独立的应用入口
+2417 实现应用或者webhook的日志管理和查看
+2418 实现webhook的管理
+2419 可以自定义哪些事件下面可以触发webhook
+2423 各个表单的必填项字段可以自定义
+2425 实现和钉钉的消息通知接口
2017-09-27 9.5.1
2128 编辑需求页面增加对来源备注的编辑功能
@@ -1008,44 +1237,44 @@
2017-05-16 9.2.stable
完成的需求
-1883 windows一键安装包提示安装vC环境改为可选
-1982 支持多种工作模式
-2143 需求、bug、用例增加批量修改所属分支的功能
-2164 文档库增加排序功能
-2207 创建产品的时候多平台多分支增加说明
-2239 项目关联需求的时候将需求的研发阶段也列出来
-2240 备份的时候将禅道的代码目录也备份下来
-2241 文档视图中的产品和项目文档库中的权限控制增加团队成员允许访问的功能
-2246 批量添加需求时在需求标题后面增加复制按钮
-2247 文档库中的附件库增加搜索功能
-2253 批量执行用例界面把前置条件显示出来
-2254 将每日邮件通知里面的s去掉
-2260 每日提醒的邮件发送时间调整下
-2261 调整各个列表页面的表头的对齐方式。
-2262 发信设置里面的发信域名改为禅道域名。
-2265 分支或者平台下面的模块应该列出有需求的公共模块
-2266 公共用例库增加导入和批量添加的功能
-2267 公共用例库增加重名判断,用例库名称增加必填项标识,用例库图标和产品图标做区别。
-2271 优化下数据库检查修复页面的排版
-2272 调整测试套件列表页面
-2273 调整测试用例的评审功能
-2274 从公共用例库导入用例时完善模块对照逻辑
-2275 测试总结报告保存按钮上调。
-2276 用例步骤分组重新调整。
-2277 Bug导为任务时需要处理截止日期
-2278 任务列表的批量操作增加取消。
-2279 燃尽图修改首天工时时将那一天的剩余工时也修改了
-2280 cron表崩溃之后能够自动修复
-2282 禅道如果和然之集成后,样式做调整
-2283 表单里面一行多个控件必填项的展示需要调整
-2284 维护模块的时候可以从中间插入一个记录
-2285 测试报告中相应列表页面增加链接
-2286 项目导入bug的时候,将解决方案等于延期的也列出来
-2287 在详情页面切换产品列表跳转到该产品的需求列表页面
-2288 禅道多图上传可以直接用多图上传的插件。
-2290 禅道迁移目录之后,model临时文件能够自动重新生成。
-2291 计划关联需求时,需求可以弹窗查看。
-2292 升级windows一键安装包
+1883 windows一键安装包提示安装vC环境改为可选
+1982 支持多种工作模式
+2143 需求、bug、用例增加批量修改所属分支的功能
+2164 文档库增加排序功能
+2207 创建产品的时候多平台多分支增加说明
+2239 项目关联需求的时候将需求的研发阶段也列出来
+2240 备份的时候将禅道的代码目录也备份下来
+2241 文档视图中的产品和项目文档库中的权限控制增加团队成员允许访问的功能
+2246 批量添加需求时在需求标题后面增加复制按钮
+2247 文档库中的附件库增加搜索功能
+2253 批量执行用例界面把前置条件显示出来
+2254 将每日邮件通知里面的s去掉
+2260 每日提醒的邮件发送时间调整下
+2261 调整各个列表页面的表头的对齐方式。
+2262 发信设置里面的发信域名改为禅道域名。
+2265 分支或者平台下面的模块应该列出有需求的公共模块
+2266 公共用例库增加导入和批量添加的功能
+2267 公共用例库增加重名判断,用例库名称增加必填项标识,用例库图标和产品图标做区别。
+2271 优化下数据库检查修复页面的排版
+2272 调整测试套件列表页面
+2273 调整测试用例的评审功能
+2274 从公共用例库导入用例时完善模块对照逻辑
+2275 测试总结报告保存按钮上调。
+2276 用例步骤分组重新调整。
+2277 Bug导为任务时需要处理截止日期
+2278 任务列表的批量操作增加取消。
+2279 燃尽图修改首天工时时将那一天的剩余工时也修改了
+2280 cron表崩溃之后能够自动修复
+2282 禅道如果和然之集成后,样式做调整
+2283 表单里面一行多个控件必填项的展示需要调整
+2284 维护模块的时候可以从中间插入一个记录
+2285 测试报告中相应列表页面增加链接
+2286 项目导入bug的时候,将解决方案等于延期的也列出来
+2287 在详情页面切换产品列表跳转到该产品的需求列表页面
+2288 禅道多图上传可以直接用多图上传的插件。
+2290 禅道迁移目录之后,model临时文件能够自动重新生成。
+2291 计划关联需求时,需求可以弹窗查看。
+2292 升级windows一键安装包
2293 升级linux一键安装包
修复的Bug
1086 测试-版本生成报告页面切换分支报错
@@ -1070,61 +1299,61 @@
2017-03-23 9.1.stable
完成的需求
-104 test suite管理
-336 测试用例增加评审功能
-845 实现公用测试用例功能
-1729 实现导入公共测试用例的导入功能
-1730 实现测试总结报告功能
-1755 用例管理增加批量操作
-1853 测试-用例 按照需求分组查看增加导出数据功能的支持
-1876 增加测试用例步骤的失败率
-1877 测试用例步骤增加分组管理
-1882 版本用例关联增加可以直接关联上一个版本未执行的用例的功能
-1903 项目需求列表增加TBC显示
-1907 编辑用例的时候,添加追加的按钮换行了。
-1908 调整测试版本列表里面的项目和版本信息
-1909 调整测试版本操作菜单的交互
-1910 按照需求关联用例检索会吧没有关联需求的也列出。
-1911 用例批量执行的时候失败后无法输入内容。
-1954 测试报告可以上传附件功能
-1956 测试-用例页面增加批量确认需求变更功能
-2005 Bug增加截止日期字段
-2037 测试用例关联需求时候关闭需求也列出
-2077 测试-版本 把待测和进行中的版本分类显示
-2124 用例的详情页面可以增加全屏显示按钮
-2125 用例执行的时候可以将页面再宽一些,尽量增加用例执行的面积
-2126 用例详情页面步骤,可以开展将fieldset外层的边框去掉。
-2180 禅道客户端登录失败的时候,把返回的数据暴露出来。
-2186 桌面工具增加对https协议的支持
-2189 测试用例结果失败的都增加转bug的按钮。
-2190 没有步骤的用例在执行的时候应该可以写实际结果。
-2191 在代码里面直接设置max_post_vars,避免批量添加,导入失效的问题。
-2192 测试版本关联用例复制功能。
-2193 bug统计报表增加优先级选择。
-2196 用例执行的时候,增加提bug的按钮
-2197 用例结果展示增加测试版本的信息
-2202 bug自定义模板的删除增加确认按钮
-2226 禅道里面的trunk 中文下面改为主干
-2227 待办如果没有指派给自己的任务的话,给用户提示。
-2228 事务类型的任务如果没有设置指派给字段也可以创建任务
-2229 打开计划任务的确认链接设置更加清楚。
-2230 可以设置首页的区块是否全部关闭。
-2231 产品和项目的下拉菜单增加汉语拼音检索功能。
-2237 区块可以设置高度、排序
-2238 导出需求 任务 bug 用例的时候增加分支/平台字段
+104 test suite管理
+336 测试用例增加评审功能
+845 实现公用测试用例功能
+1729 实现导入公共测试用例的导入功能
+1730 实现测试总结报告功能
+1755 用例管理增加批量操作
+1853 测试-用例 按照需求分组查看增加导出数据功能的支持
+1876 增加测试用例步骤的失败率
+1877 测试用例步骤增加分组管理
+1882 版本用例关联增加可以直接关联上一个版本未执行的用例的功能
+1903 项目需求列表增加TBC显示
+1907 编辑用例的时候,添加追加的按钮换行了。
+1908 调整测试版本列表里面的项目和版本信息
+1909 调整测试版本操作菜单的交互
+1910 按照需求关联用例检索会吧没有关联需求的也列出。
+1911 用例批量执行的时候失败后无法输入内容。
+1954 测试报告可以上传附件功能
+1956 测试-用例页面增加批量确认需求变更功能
+2005 Bug增加截止日期字段
+2037 测试用例关联需求时候关闭需求也列出
+2077 测试-版本 把待测和进行中的版本分类显示
+2124 用例的详情页面可以增加全屏显示按钮
+2125 用例执行的时候可以将页面再宽一些,尽量增加用例执行的面积
+2126 用例详情页面步骤,可以开展将fieldset外层的边框去掉。
+2180 禅道客户端登录失败的时候,把返回的数据暴露出来。
+2186 桌面工具增加对https协议的支持
+2189 测试用例结果失败的都增加转bug的按钮。
+2190 没有步骤的用例在执行的时候应该可以写实际结果。
+2191 在代码里面直接设置max_post_vars,避免批量添加,导入失效的问题。
+2192 测试版本关联用例复制功能。
+2193 bug统计报表增加优先级选择。
+2196 用例执行的时候,增加提bug的按钮
+2197 用例结果展示增加测试版本的信息
+2202 bug自定义模板的删除增加确认按钮
+2226 禅道里面的trunk 中文下面改为主干
+2227 待办如果没有指派给自己的任务的话,给用户提示。
+2228 事务类型的任务如果没有设置指派给字段也可以创建任务
+2229 打开计划任务的确认链接设置更加清楚。
+2230 可以设置首页的区块是否全部关闭。
+2231 产品和项目的下拉菜单增加汉语拼音检索功能。
+2237 区块可以设置高度、排序
+2238 导出需求 任务 bug 用例的时候增加分支/平台字段
修复的Bug
-1016 bug按照创建人搜索不显示数据
-1019 提交bug页面显示框不全
-1022 php5.2版本上无法执行后台-计划任务
-1023 我的地盘需求排序后点击需求名称报错
-1025 项目-bug搜索不能正常显示日期选择框
-1029 项目-bug页面搜索可以搜索出已经删除的bug
-1030 用例搜索后用例相关的BRS都为0
-1031 统计中会列出没有权限的报表名称
-1034 项目搜索包含减号跳转链接错误
-1035 用例文件导入会默认关联需求的第一个版本
-1036 guest帐号登录禅道无法编辑删除区块
-1037 后台-发信 测试发信会把删除的帐号都列出
+1016 bug按照创建人搜索不显示数据
+1019 提交bug页面显示框不全
+1022 php5.2版本上无法执行后台-计划任务
+1023 我的地盘需求排序后点击需求名称报错
+1025 项目-bug搜索不能正常显示日期选择框
+1029 项目-bug页面搜索可以搜索出已经删除的bug
+1030 用例搜索后用例相关的BRS都为0
+1031 统计中会列出没有权限的报表名称
+1034 项目搜索包含减号跳转链接错误
+1035 用例文件导入会默认关联需求的第一个版本
+1036 guest帐号登录禅道无法编辑删除区块
+1037 后台-发信 测试发信会把删除的帐号都列出
2017-02-15 9.0.1
完成的需求
diff --git a/framework/base/control.class.php b/framework/base/control.class.php
index e1d1bd2519..51e4e287e3 100644
--- a/framework/base/control.class.php
+++ b/framework/base/control.class.php
@@ -740,7 +740,7 @@ class baseControl
*/
if(!is_file($file2Included)) $this->app->triggerError("The control file $file2Included not found", __FILE__, __LINE__, $exit = true);
chdir(dirname($file2Included));
- if($moduleName != $this->moduleName) helper::import($file2Included);
+ helper::import($file2Included);
/**
* 设置调用的类名。
diff --git a/framework/base/router.class.php b/framework/base/router.class.php
index 6298796383..5e083621ed 100644
--- a/framework/base/router.class.php
+++ b/framework/base/router.class.php
@@ -825,7 +825,7 @@ class baseRouter
session_start();
$this->sessionID = session_id();
- if(isset($_GET[$this->config->sessionVar]) and $this->sessionID != $_GET[$this->config->sessionVar]) helper::restartSession($_GET[$this->config->sessionVar]);
+ if(isset($_GET[$this->config->sessionVar])) helper::restartSession($_GET[$this->config->sessionVar]);
define('SESSION_STARTED', true);
}
@@ -1528,7 +1528,7 @@ class baseRouter
{
$code = trim(file_get_contents($fileName));
if(strpos($code, '') !== false) $code = rtrim($code, '?>');
+ if(strrpos($code, '?' . '>') !== false) $code = rtrim($code, '?' . '>');
return trim($code);
}
@@ -1631,7 +1631,7 @@ class baseRouter
**/
$file2Included = $this->setActionExtFile() ? $this->extActionFile : $this->controlFile;
chdir(dirname($file2Included));
- include $file2Included;
+ helper::import($file2Included);
/*
* 设置control的类名。
@@ -2264,7 +2264,8 @@ class baseRouter
* 为了安全起见,对公网环境隐藏脚本路径。
* If the ip is pulic, hidden the full path of scripts.
*/
- if(!defined('IN_SHELL') and !($this->server->remote_addr == '127.0.0.1' or filter_var($this->server->remote_addr, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE) === false))
+ $remoteIP = helper::getRemoteIp();
+ if(!defined('IN_SHELL') and !($remoteIP == '127.0.0.1' or filter_var($remoteIP, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE) === false))
{
$errorLog = str_replace($this->getBasePath(), '', $errorLog);
}
diff --git a/framework/control.class.php b/framework/control.class.php
index f7b7adf73f..7d90e848c1 100644
--- a/framework/control.class.php
+++ b/framework/control.class.php
@@ -58,7 +58,18 @@ class control extends baseControl
$viewFile = file_exists($commonExtViewFile) ? $commonExtViewFile : $mainViewFile;
$viewFile = (!empty($siteExtViewFile) and file_exists($siteExtViewFile)) ? $siteExtViewFile : $viewFile;
- if(!is_file($viewFile)) $this->app->triggerError("the view file $viewFile not found", __FILE__, __LINE__, $exit = true);
+ if(!is_file($viewFile))
+ {
+ if($this->config->debug === false)
+ {
+ die(js::locate($this->createLink('misc','ajaxerror', ".mhtml"), 'parent'));
+ }
+ else
+ {
+ $this->app->triggerError("the view file $viewFile not found", __FILE__, __LINE__, $exit = true);
+ }
+
+ }
$commonExtHookFiles = glob($viewExtPath['common'] . $this->devicePrefix . $methodName . ".*.{$viewType}.hook.php");
$siteExtHookFiles = empty($viewExtPath['site']) ? '' : glob($viewExtPath['site'] . $this->devicePrefix . $methodName . ".*.{$viewType}.hook.php");
diff --git a/framework/router.class.php b/framework/router.class.php
index b74367ae70..39b2d94fdc 100755
--- a/framework/router.class.php
+++ b/framework/router.class.php
@@ -68,6 +68,7 @@ class router extends baseRouter
}
$productCommon = $projectCommon = 0;
+ if(!empty($this->config->isINT)) $projectCommon = 1;
if($productProject)
{
$productProject = $productProject->value;
diff --git a/lib/base/front/front.class.php b/lib/base/front/front.class.php
index a3c1629753..6fbe58ac12 100644
--- a/lib/base/front/front.class.php
+++ b/lib/base/front/front.class.php
@@ -980,7 +980,15 @@ EOT;
static public function reload($window = 'self')
{
$js = self::start();
- $js .= "$window.location.reload(true);\n";
+ // See bug #2379 http://pms.zentao.net/bug-view-2379.html
+ if($window !== 'self' && $window !== 'window')
+ {
+ $js .= "if($window !== window) $window.location.reload(true);\n";
+ }
+ else
+ {
+ $js .= "$window.location.reload(true);\n";
+ }
$js .= self::end();
return $js;
}
diff --git a/lib/front/front.class.php b/lib/front/front.class.php
index 91641384f4..04ed5837b8 100644
--- a/lib/front/front.class.php
+++ b/lib/front/front.class.php
@@ -39,6 +39,26 @@ class html extends baseHTML
return parent::a($href, $title, $misc, $newline);
}
+ /**
+ * 生成input输入标签。
+ * Create tags like " "
+ *
+ * @param string $name the name of the text input tag.
+ * @param string $value the default value.
+ * @param string $attrib other attribs.
+ * @static
+ * @access public
+ * @return string
+ */
+ static public function input($name, $value = "", $attrib = "", $autocomplete = false)
+ {
+ $id = "id='$name'";
+ if(strpos($attrib, 'id=') !== false) $id = '';
+ $value = str_replace("'", ''', $value);
+ $autocomplete = $autocomplete ? 'autocomplete="on"' : 'autocomplete="off"';
+ return " \n";
+ }
+
/**
* 生成多选按钮。
* Create tags like " "
diff --git a/lib/pclzip/pclzip.class.php b/lib/pclzip/pclzip.class.php
index 2d0e71e7a7..8c8614982f 100644
--- a/lib/pclzip/pclzip.class.php
+++ b/lib/pclzip/pclzip.class.php
@@ -1836,7 +1836,8 @@
$v_memory_limit = ini_get('memory_limit');
$v_memory_limit = trim($v_memory_limit);
$last = strtolower(substr($v_memory_limit, -1));
-
+
+ $v_memory_limit = (int)$v_memory_limit;
if($last == 'g')
//$v_memory_limit = $v_memory_limit*1024*1024*1024;
$v_memory_limit = $v_memory_limit*1073741824;
diff --git a/lib/purifier/HTMLPurifier.autoload.php b/lib/purifier/HTMLPurifier.autoload.php
index 63193c3ee7..c3995b91f0 100644
--- a/lib/purifier/HTMLPurifier.autoload.php
+++ b/lib/purifier/HTMLPurifier.autoload.php
@@ -9,12 +9,12 @@
if (function_exists('spl_autoload_register') && function_exists('spl_autoload_unregister')) {
// We need unregister for our pre-registering functionality
HTMLPurifier_Bootstrap::registerAutoload();
- if (function_exists('__autoload')) {
+ if (function_exists('purifierAutoload')) {
// Be polite and ensure that userland autoload gets retained
- spl_autoload_register('__autoload');
+ spl_autoload_register('purifierAutoload');
}
-} elseif (!function_exists('__autoload')) {
- function __autoload($class)
+} elseif (!function_exists('purifierAutoload')) {
+ function purifierAutoload($class)
{
return HTMLPurifier_Bootstrap::autoload($class);
}
diff --git a/module/action/lang/en.php b/module/action/lang/en.php
index a7ae258a96..85eab81095 100755
--- a/module/action/lang/en.php
+++ b/module/action/lang/en.php
@@ -153,7 +153,7 @@ $lang->action->label->blocked = 'blocked ';
$lang->action->label->resolved = 'resolved ';
$lang->action->label->reviewed = 'reviewed ';
$lang->action->label->moved = 'moved ';
-$lang->action->label->confirmed = 'Confirm Story';
+$lang->action->label->confirmed = 'Confirmed Story';
$lang->action->label->bugconfirmed = 'Confirmed';
$lang->action->label->tostory = 'Convert to Story';
$lang->action->label->frombug = 'Converted from Bug';
@@ -170,14 +170,14 @@ $lang->action->label->unlinkedfromproject = "Unlink {$lang->projectCommon}";
$lang->action->label->unlinkedfrombuild = "Unlink Build";
$lang->action->label->linked2release = "Link Release";
$lang->action->label->unlinkedfromrelease = "Unlink Release";
-$lang->action->label->linkrelatedbug = "Link to Bug";
-$lang->action->label->unlinkrelatedbug = "Unlink";
-$lang->action->label->linkrelatedcase = "Link to Case";
-$lang->action->label->unlinkrelatedcase = "Unlink";
-$lang->action->label->linkrelatedstory = "Link to Story";
-$lang->action->label->unlinkrelatedstory = "Unlink";
-$lang->action->label->subdividestory = "Decompose Story";
-$lang->action->label->unlinkchildstory = "Unlink";
+$lang->action->label->linkrelatedbug = "Linked Bug";
+$lang->action->label->unlinkrelatedbug = "Unlinked Bug";
+$lang->action->label->linkrelatedcase = "Linked Case";
+$lang->action->label->unlinkrelatedcase = "Unlinked Case";
+$lang->action->label->linkrelatedstory = "Linked Story";
+$lang->action->label->unlinkrelatedstory = "Unlinked Story";
+$lang->action->label->subdividestory = "Decomposed Story";
+$lang->action->label->unlinkchildstory = "Unlinked Story";
$lang->action->label->started = 'started ';
$lang->action->label->restarted = 'continued ';
$lang->action->label->recordestimate = 'recorded ';
diff --git a/module/action/model.php b/module/action/model.php
index 5a67dbab75..353c5adae1 100755
--- a/module/action/model.php
+++ b/module/action/model.php
@@ -342,6 +342,12 @@ class actionModel extends model
}
}
}
+ elseif(($actionName == 'opened' or $actionName == 'managed') and $objectType == 'project')
+ {
+ $linkedProducts = $this->dao->select('id,name')->from(TABLE_PRODUCT)->where('id')->in($action->extra)->fetchPairs('id', 'name');
+ $action->extra = '';
+ if($linkedProducts) $action->extra = sprintf($this->lang->project->action->extra, '' . join(', ', $linkedProducts) . ' ');
+ }
$action->history = isset($histories[$actionID]) ? $histories[$actionID] : array();
$actionName = strtolower($action->action);
@@ -750,7 +756,7 @@ class actionModel extends model
}
$objectNames['user'][0] = 'guest'; // Add guest account.
- foreach($actions as $action)
+ foreach($actions as $i => $action)
{
/* Add name field to the actions. */
$action->objectName = isset($objectNames[$action->objectType][$action->objectID]) ? $objectNames[$action->objectType][$action->objectID] : '';
@@ -779,11 +785,14 @@ class actionModel extends model
{
list($objectLabel, $moduleName, $methodName, $vars) = explode('|', $action->objectLabel);
$action->objectLink = '';
- if(common::hasPriv($moduleName, $methodName))
+ if(!common::hasPriv($moduleName, $methodName))
{
- $action->objectLink = helper::createLink($moduleName, $methodName, sprintf($vars, $action->objectID));
- if($action->objectType == 'user') $action->objectLink = helper::createLink($moduleName, $methodName, sprintf($vars, $action->actor));
+ unset($actions[$i]);
+ continue;
}
+
+ $action->objectLink = helper::createLink($moduleName, $methodName, sprintf($vars, $action->objectID));
+ if($action->objectType == 'user') $action->objectLink = helper::createLink($moduleName, $methodName, sprintf($vars, $action->actor));
$action->objectLabel = $objectLabel;
}
else
diff --git a/module/admin/lang/en.php b/module/admin/lang/en.php
index 16b538df69..a99c8e2274 100644
--- a/module/admin/lang/en.php
+++ b/module/admin/lang/en.php
@@ -14,7 +14,7 @@ $lang->admin->index = 'Admin Home';
$lang->admin->checkDB = 'Check Database';
$lang->admin->sso = 'Zdoo';
$lang->admin->safeIndex = 'Security';
-$lang->admin->checkWeak = 'Weak Password Check';
+$lang->admin->checkWeak = 'Check Weak Password';
$lang->admin->certifyMobile = 'Verify your cellphone';
$lang->admin->certifyEmail = 'Verify your Email';
$lang->admin->ztCompany = 'Verify your company';
@@ -24,13 +24,13 @@ $lang->admin->getCaptcha = 'Get Verification Code';
$lang->admin->api = 'API';
$lang->admin->log = 'Log';
$lang->admin->setting = 'Setting';
-$lang->admin->days = 'Valid Days';
+$lang->admin->days = 'Valid Day';
$lang->admin->info = new stdclass();
$lang->admin->info->version = 'Current Version is %s. ';
$lang->admin->info->links = 'You can visit links below';
$lang->admin->info->account = 'Your ZenTao account is %s.';
-$lang->admin->info->log = 'Log that is beyond valid days will be deleted and it has to run cron.';
+$lang->admin->info->log = 'Log that exceeds valid days will be deleted and you have to run cron.';
$lang->admin->notice = new stdclass();
$lang->admin->notice->register = "Note: You haven't registered in ZenTao(www.zentao.pm). %s then get the Latest ZenTao Upgrades and News.";
@@ -45,8 +45,13 @@ $lang->admin->register->common = 'Bind Account';
>>>>>>> d3fa148cb3d0ea19eb92b37374b0ec4e2a64ec6f
$lang->admin->register->caption = 'Register in Zentao Community';
$lang->admin->register->click = 'Register here';
+<<<<<<< HEAD
$lang->admin->register->lblAccount = 'at least 3 characters; contains letters and numbers.';
$lang->admin->register->lblPasswd = 'at least 6 characters; contains letters and numbers.';
+=======
+$lang->admin->register->lblAccount = '>= 3 characters; contains letters and numbers.';
+$lang->admin->register->lblPasswd = '>= 6 characters; contains letters and numbers.';
+>>>>>>> 58a5ce3d921a17cce37484db7696956508f5d454
$lang->admin->register->submit = 'Register';
$lang->admin->register->bind = "Bind Exsit Account";
$lang->admin->register->success = "You have registered with us!";
@@ -57,20 +62,20 @@ $lang->admin->bind->success = "Account is linked!";
$lang->admin->safe = new stdclass();
$lang->admin->safe->common = 'Security Policy';
-$lang->admin->safe->set = 'Password Strength';
-$lang->admin->safe->password = 'Password Strength';
+$lang->admin->safe->set = 'Strong Password';
+$lang->admin->safe->password = 'Strong Password';
$lang->admin->safe->weak = 'Weak Password';
$lang->admin->safe->reason = 'Type';
$lang->admin->safe->checkWeak = 'Weak Password';
-$lang->admin->safe->changeWeak = 'Your password is weak. Change it.';
-$lang->admin->safe->modifyPasswordFirstLogin = 'Change password after first login';
+$lang->admin->safe->changeWeak = 'Require to change weak password';
+$lang->admin->safe->modifyPasswordFirstLogin = 'Require to change password after first login';
$lang->admin->safe->modeList[0] = 'N/A';
$lang->admin->safe->modeList[1] = 'Medium';
$lang->admin->safe->modeList[2] = 'Strong';
-$lang->admin->safe->modeRuleList[1] = 'Contains upper and lower case, numbers. Length >= 6';
-$lang->admin->safe->modeRuleList[2] = 'Contains upper and lower case, numbers and special characters. Length >= 10.';
+$lang->admin->safe->modeRuleList[1] = ' upper and lower case, numbers. Length >= 6';
+$lang->admin->safe->modeRuleList[2] = ' upper and lower case, numbers and special characters. Length >= 10.';
$lang->admin->safe->reasonList['weak'] = 'Common Weak Password';
$lang->admin->safe->reasonList['account'] = 'Same as your account';
@@ -81,5 +86,5 @@ $lang->admin->safe->reasonList['birthday'] = 'Same as your DOB';
$lang->admin->safe->modifyPasswordList[1] = 'Yes';
$lang->admin->safe->modifyPasswordList[0] = 'No';
-$lang->admin->safe->noticeMode = 'Password will be checked when login, add and edit user.';
+$lang->admin->safe->noticeMode = 'Password will be checked when Login, Add and Edit user.';
$lang->admin->safe->noticeStrong = '';
diff --git a/module/admin/view/bind.html.php b/module/admin/view/bind.html.php
index 65b264cde1..57d9c23fa4 100644
--- a/module/admin/view/bind.html.php
+++ b/module/admin/view/bind.html.php
@@ -27,7 +27,7 @@
$account = zget($config->global, 'community', '');
if($account == 'na') $account = '';
?>
-
+
user->password;?>
diff --git a/module/admin/view/certifyztemail.html.php b/module/admin/view/certifyztemail.html.php
index 6f4ddf0cc3..a7a92c696a 100644
--- a/module/admin/view/certifyztemail.html.php
+++ b/module/admin/view/certifyztemail.html.php
@@ -20,12 +20,12 @@
diff --git a/module/bug/view/batchedit.html.php b/module/bug/view/batchedit.html.php
index 583a034054..45bbf84e53 100644
--- a/module/bug/view/batchedit.html.php
+++ b/module/bug/view/batchedit.html.php
@@ -99,7 +99,7 @@