diff --git a/Admin/Installer.php b/Admin/Installer.php index f070ec8..00f75fe 100644 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -43,6 +43,97 @@ class Installer extends InstallerAbstract switch ($dbPool->get('core')->getType()) { case DatabaseType::MYSQL: + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'workflow` ( + `workflow_id` int(11) NOT NULL AUTO_INCREMENT, + `workflow_name` varchar(50) NOT NULL, + `workflow_status` int(11) NOT NULL, + `workflow_desc` varchar(100) DEFAULT NULL, + `workflow_created` datetime DEFAULT NULL, + `workflow_created_by` int(11) DEFAULT NULL, + PRIMARY KEY (`workflow_id`), + KEY `workflow_created_by` (`workflow_created_by`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'workflow` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'workflow_ibfk_1` FOREIGN KEY (`workflow_created_by`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'workflow_media` ( + `workflow_media_id` int(11) NOT NULL AUTO_INCREMENT, + `workflow_media_media` int(11) NOT NULL, + `workflow_media_workflow` int(11) NOT NULL, + `workflow_media_type` int(3) DEFAULT NULL, + PRIMARY KEY (`workflow_media_id`), + KEY `workflow_media_media` (`workflow_media_media`), + KEY `workflow_media_workflow` (`workflow_media_workflow`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'workflow_media` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'workflow_media_ibfk_1` FOREIGN KEY (`workflow_media_media`) REFERENCES `' . $dbPool->get('core')->prefix . 'media` (`media_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'workflow_media_ibfk_2` FOREIGN KEY (`workflow_media_workflow`) REFERENCES `' . $dbPool->get('core')->prefix . 'workflow` (`workflow_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'workflow_element` ( + `workflow_element_id` int(11) NOT NULL AUTO_INCREMENT, + `workflow_element_name` varchar(50) NOT NULL, + `workflow_element_status` int(11) NOT NULL, + `workflow_element_data` text NOT NULL, + `workflow_element_desc` varchar(100) DEFAULT NULL, + `workflow_element_created` datetime DEFAULT NULL, + `workflow_element_created_by` int(11) DEFAULT NULL, + `workflow_element_workflow` int(11) DEFAULT NULL, + PRIMARY KEY (`workflow_element_id`), + KEY `workflow_element_created_by` (`workflow_element_created_by`), + KEY `workflow_element_workflow` (`workflow_element_workflow`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'workflow_element` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'workflow_element_ibfk_1` FOREIGN KEY (`workflow_element_created_by`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'workflow_element_ibfk_2` FOREIGN KEY (`workflow_element_workflow`) REFERENCES `' . $dbPool->get('core')->prefix . 'workflow` (`workflow_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'workflow_element_media` ( + `workflow_element_media_id` int(11) NOT NULL AUTO_INCREMENT, + `workflow_element_media_media` int(11) NOT NULL, + `workflow_element_media_workflow_element` int(11) NOT NULL, + PRIMARY KEY (`workflow_element_media_id`), + KEY `workflow_element_media_media` (`workflow_element_media_media`), + KEY `workflow_element_media_workflow_element` (`workflow_element_media_workflow_element`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'workflow_element_media` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'workflow_element_media_ibfk_1` FOREIGN KEY (`workflow_element_media_media`) REFERENCES `' . $dbPool->get('core')->prefix . 'media` (`media_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'workflow_element_media_ibfk_2` FOREIGN KEY (`workflow_element_media_workflow_element`) REFERENCES `' . $dbPool->get('core')->prefix . 'workflow_element` (`workflow_element_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'workflow_element_task` ( + `workflow_element_task_id` int(11) NOT NULL AUTO_INCREMENT, + `workflow_element_task_task` int(11) NOT NULL, + `workflow_element_task_workflow_element` int(11) NOT NULL, + PRIMARY KEY (`workflow_element_task_id`), + KEY `workflow_element_task_task` (`workflow_element_task_task`), + KEY `workflow_element_task_workflow_element` (`workflow_element_task_workflow_element`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'workflow_element_task` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'workflow_element_task_ibfk_1` FOREIGN KEY (`workflow_element_task_task`) REFERENCES `' . $dbPool->get('core')->prefix . 'task` (`media_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'workflow_element_task_ibfk_2` FOREIGN KEY (`workflow_element_task_workflow_element`) REFERENCES `' . $dbPool->get('core')->prefix . 'workflow_element` (`workflow_element_id`);' + )->execute(); break; } }