database lib: disable createAllTable

This commit is contained in:
Yuan Chiu 2014-11-23 14:32:54 +08:00
parent a9003b5908
commit dec715217c

View File

@ -57,156 +57,156 @@ require_once UELEARNING_LIB_ROOT.'/Database/Exception.php';
*/ */
class DBAdmin extends Database { class DBAdmin extends Database {
/** // /**
* 建立所有所需的資料表 // * 建立所有所需的資料表
* // *
* @since 2.0.0 // * @since 2.0.0
*/ // */
public function createAllTable() { // public function createAllTable() {
//
// 使用的資料庫系統為MySQL // // 使用的資料庫系統為MySQL
if($this->db_type == 'mysql') { // if($this->db_type == 'mysql') {
//
// 所有要跑的SQL指令陣列 // // 所有要跑的SQL指令陣列
$execSql = array( // $execSql = array(
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."ABelong` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."ABelong` (
`TID` int(10) unsigned NOT NULL, // `TID` int(10) unsigned NOT NULL,
`AID` int(10) unsigned NOT NULL // `AID` int(10) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."AGroup` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."AGroup` (
`GID` varchar(30) COLLATE utf8_unicode_ci NOT NULL, // `GID` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`GName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, // `GName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`GMemo` tinytext COLLATE utf8_unicode_ci, // `GMemo` tinytext COLLATE utf8_unicode_ci,
PRIMARY KEY (`GID`) // PRIMARY KEY (`GID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Area` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Area` (
`AID` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '區域編號', // `AID` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '區域編號',
`AName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '區域名稱', // `AName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '區域名稱',
`AMapID` varchar(1000) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '區域地圖編號', // `AMapID` varchar(1000) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '區域地圖編號',
`AIntroduction` tinytext COLLATE utf8_unicode_ci, // `AIntroduction` tinytext COLLATE utf8_unicode_ci,
PRIMARY KEY (`AID`) // PRIMARY KEY (`AID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."CGroup` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."CGroup` (
`CID` varchar(30) COLLATE utf8_unicode_ci NOT NULL, // `CID` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`CName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, // `CName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`CMemo` tinytext COLLATE utf8_unicode_ci, // `CMemo` tinytext COLLATE utf8_unicode_ci,
PRIMARY KEY (`CID`) // PRIMARY KEY (`CID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Edge` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Edge` (
`Ti` int(11) NOT NULL, // `Ti` int(11) NOT NULL,
`Tj` int(11) NOT NULL, // `Tj` int(11) NOT NULL,
`MoveTime` int(4) NOT NULL COMMENT '移動時間(分鐘)', // `MoveTime` int(4) NOT NULL COMMENT '移動時間(分鐘)',
`Destance` int(11) NOT NULL COMMENT '距離(M)' // `Destance` int(11) NOT NULL COMMENT '距離(M)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."LearnActivity` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."LearnActivity` (
`LsID` int(10) NOT NULL, // `LsID` int(10) NOT NULL,
`ThID` int(10) NOT NULL COMMENT '主題編號', // `ThID` int(10) NOT NULL COMMENT '主題編號',
`CID` varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT '班級名稱', // `CID` varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT '班級名稱',
`StartTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '開始時間', // `StartTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '開始時間',
`Delay` int(11) NOT NULL COMMENT '實際狀態延誤(分)', // `Delay` int(11) NOT NULL COMMENT '實際狀態延誤(分)',
PRIMARY KEY (`LsID`) // PRIMARY KEY (`LsID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Material` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Material` (
`MID` int(10) unsigned NOT NULL COMMENT '教材內部編號', // `MID` int(10) unsigned NOT NULL COMMENT '教材內部編號',
`TID` int(10) unsigned NOT NULL COMMENT '標的內部編號', // `TID` int(10) unsigned NOT NULL COMMENT '標的內部編號',
`MMode` int(1) NOT NULL DEFAULT '0' COMMENT '教材模式', // `MMode` int(1) NOT NULL DEFAULT '0' COMMENT '教材模式',
`MUrl` varchar(1000) COLLATE utf8_unicode_ci NOT NULL COMMENT '教材檔案路徑', // `MUrl` varchar(1000) COLLATE utf8_unicode_ci NOT NULL COMMENT '教材檔案路徑',
PRIMARY KEY (`MID`) // PRIMARY KEY (`MID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Recommand` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Recommand` (
`TID` int(3) NOT NULL COMMENT '標的內部編號', // `TID` int(3) NOT NULL COMMENT '標的內部編號',
`UID` varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT '使用者帳號', // `UID` varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT '使用者帳號',
`gradation` int(11) NOT NULL COMMENT '系統推薦標地順序' // `gradation` int(11) NOT NULL COMMENT '系統推薦標地順序'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Study` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Study` (
`SID` int(10) NOT NULL AUTO_INCREMENT, // `SID` int(10) NOT NULL AUTO_INCREMENT,
`TID` int(10) NOT NULL COMMENT '標的內部編號', // `TID` int(10) NOT NULL COMMENT '標的內部編號',
`UID` int(30) NOT NULL COMMENT '使用者名稱', // `UID` int(30) NOT NULL COMMENT '使用者名稱',
`LMode` int(11) NOT NULL COMMENT '學習導引模式', // `LMode` int(11) NOT NULL COMMENT '學習導引模式',
`MMode` int(11) NOT NULL COMMENT '教材模式', // `MMode` int(11) NOT NULL COMMENT '教材模式',
`In_TargetTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '進入標的時間', // `In_TargetTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '進入標的時間',
`Out_TargetTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '離開標的時間', // `Out_TargetTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '離開標的時間',
PRIMARY KEY (`SID`) // PRIMARY KEY (`SID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."StudyQuestion` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."StudyQuestion` (
`UID` varchar(30) COLLATE utf8_unicode_ci NOT NULL, // `UID` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`TID` int(10) NOT NULL, // `TID` int(10) NOT NULL,
`QID` int(11) NOT NULL, // `QID` int(11) NOT NULL,
`UAns` int(11) NOT NULL, // `UAns` int(11) NOT NULL,
`CAns` int(11) NOT NULL // `CAns` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Target` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Target` (
`TID` int(10) unsigned NOT NULL COMMENT '標的內部編號', // `TID` int(10) unsigned NOT NULL COMMENT '標的內部編號',
`TNum` int(10) DEFAULT NULL COMMENT '標的地圖上的編號', // `TNum` int(10) DEFAULT NULL COMMENT '標的地圖上的編號',
`TName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '標的名稱', // `TName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '標的名稱',
`TMapID` varchar(1000) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '地圖圖檔名稱', // `TMapID` varchar(1000) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '地圖圖檔名稱',
`TLearnTime` int(4) unsigned NOT NULL COMMENT '預估此標的應該學習的時間', // `TLearnTime` int(4) unsigned NOT NULL COMMENT '預估此標的應該學習的時間',
`PLj` int(11) unsigned NOT NULL COMMENT '學習標的的人數限制', // `PLj` int(11) unsigned NOT NULL COMMENT '學習標的的人數限制',
`Mj` int(11) unsigned DEFAULT NULL COMMENT '目前人數', // `Mj` int(11) unsigned DEFAULT NULL COMMENT '目前人數',
`S` int(11) unsigned DEFAULT NULL COMMENT '學習標的飽和率上限', // `S` int(11) unsigned DEFAULT NULL COMMENT '學習標的飽和率上限',
`Fi` int(11) DEFAULT NULL COMMENT '學習標的滿額指標', // `Fi` int(11) DEFAULT NULL COMMENT '學習標的滿額指標',
PRIMARY KEY (`TID`) // PRIMARY KEY (`TID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."TBelong` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."TBelong` (
`TID` int(10) NOT NULL, // `TID` int(10) NOT NULL,
`ThID` int(10) NOT NULL, // `ThID` int(10) NOT NULL,
`Weights` int(3) NOT NULL COMMENT '當次學習主題的某一個學習標的之權重' // `Weights` int(3) NOT NULL COMMENT '當次學習主題的某一個學習標的之權重'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Theme` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."Theme` (
`ThID` int(10) unsigned NOT NULL AUTO_INCREMENT, // `ThID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ThName` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT '主題名稱', // `ThName` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT '主題名稱',
`ThLearnTotal` int(4) NOT NULL COMMENT '學習此主題要花的總時間(m)', // `ThLearnTotal` int(4) NOT NULL COMMENT '學習此主題要花的總時間(m)',
`ThIntroduction` tinytext COLLATE utf8_unicode_ci COMMENT '介紹', // `ThIntroduction` tinytext COLLATE utf8_unicode_ci COMMENT '介紹',
PRIMARY KEY (`ThID`) // PRIMARY KEY (`ThID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."User` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."User` (
`UID` varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT '使用者帳號', // `UID` varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT '使用者帳號',
`UPassword` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT '密碼', // `UPassword` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT '密碼',
`GID` varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT '使用者群組', // `GID` varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT '使用者群組',
`CID` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '使用者班級', // `CID` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '使用者班級',
`UEnabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '帳號啟用狀態', // `UEnabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '帳號啟用狀態',
`UBuild_Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '帳號建立時間', // `UBuild_Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '帳號建立時間',
`LMode` enum('line-learn','harf-line-learn','non-line-learn') COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '學習導引模式', // `LMode` enum('line-learn','harf-line-learn','non-line-learn') COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '學習導引模式',
`MMode` int(11) DEFAULT NULL COMMENT '教材模式', // `MMode` int(11) DEFAULT NULL COMMENT '教材模式',
`UNickname` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '暱稱', // `UNickname` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '暱稱',
`UReal_Name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '真實姓名', // `UReal_Name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '真實姓名',
`UEmail` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '使用者email', // `UEmail` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '使用者email',
`UMemo` tinytext COLLATE utf8_unicode_ci COMMENT '備註', // `UMemo` tinytext COLLATE utf8_unicode_ci COMMENT '備註',
PRIMARY KEY (`UID`) // PRIMARY KEY (`UID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;", //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;",
//
"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."UserSession` ( //"CREATE TABLE IF NOT EXISTS `".$this->db_prefix."UserSession` (
`UsID` int(10) unsigned NOT NULL AUTO_INCREMENT, // `UsID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`UToken` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '此登入階段的token', // `UToken` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '此登入階段的token',
`UID` varchar(30) COLLATE utf8_unicode_ci NOT NULL, // `UID` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`UAgent` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '使用哪個裝置登入', // `UAgent` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '使用哪個裝置登入',
`ULoginDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '登入時間', // `ULoginDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '登入時間',
`ULogoutDate` timestamp NULL DEFAULT NULL COMMENT '登出時間', // `ULogoutDate` timestamp NULL DEFAULT NULL COMMENT '登出時間',
PRIMARY KEY (`UsID`) // PRIMARY KEY (`UsID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;" //) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;"
); // );
//
// 執行此SQL指令 // // 執行此SQL指令
foreach ($execSql as $value ){ // foreach ($execSql as $value ){
$this->connDB->exec($value); // $this->connDB->exec($value);
}; // };
} // }
else { // else {
throw new Exception\DatabaseNoSupportException($this->db_type); // throw new Exception\DatabaseNoSupportException($this->db_type);
} // }
} // }
} }