%PDF- %PDF-
| Direktori : /home/opti/workflow/ |
| Current File : /home/opti/workflow/model.sql |
DROP DATABASE IF EXISTS `was`;
CREATE DATABASE `was` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `was` ;
-- create Comany table
CREATE TABLE `company` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`description` TEXT,
`address` TEXT,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
INSERT INTO `company` (name, description, address) VALUES ('Optisoft', 'A software development company', "marina");
-- Create Users Table
CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`firstName` VARCHAR(255) NOT NULL,
`lastName` VARCHAR(255) NOT NULL,
`phone` VARCHAR(255) NOT NULL,
`email` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL,
`orgId` INT,
CONSTRAINT fk_UserCom FOREIGN KEY (`orgId`)
REFERENCES `company`(`id`),
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO users (firstName, lastName, phone, email, password, orgId) VALUES ('Ndifreke', 'Friday', '08030723709', 'iam.ndie@gmail.com', '$2b$10$hz/RlBNEK4RmrtE6B7A3SepHfngG.Ukqu0a45BgvNjTtnYD45.s6C', '1');
INSERT INTO users (firstName, lastName, phone, email, password, orgId) VALUES ('Endurance', 'Johnson', '08087654362', 'endurance@gmail.com', '$2b$10$hz/RlBNEK4RmrtE6B7A3SepHfngG.Ukqu0a45BgvNjTtnYD45.s6C', '1');
INSERT INTO users (firstName, lastName, phone, email, password, orgId) VALUES ('Esther', 'Friday', '08087586953', 'esther@gmail.com', '$2b$10$hz/RlBNEK4RmrtE6B7A3SepHfngG.Ukqu0a45BgvNjTtnYD45.s6C', '1');
INSERT INTO users (firstName, lastName, phone, email, password, orgId) VALUES ('Faith', 'Godwin', '07054326712', 'faith@gmail.com', '$2b$10$hz/RlBNEK4RmrtE6B7A3SepHfngG.Ukqu0a45BgvNjTtnYD45.s6C', '1');
INSERT INTO users (firstName, lastName, phone, email, password, orgId) VALUES ('Abigail', 'Johnson', '09045863251', 'abigail@gmail.com', '$2b$10$hz/RlBNEK4RmrtE6B7A3SepHfngG.Ukqu0a45BgvNjTtnYD45.s6C', '1');
-- Create Region Table
CREATE TABLE `region` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`address` TEXT,
`description` TEXT,
`orgId` INT,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT fk_ComReg FOREIGN KEY (`orgId`)
REFERENCES `company`(`id`)
);
-- Create Division Table
CREATE TABLE `division` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`description` TEXT,
`regionId` INT,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT fk_RegDiv FOREIGN KEY (`regionId`)
REFERENCES `region`(`id`)
);
-- Create Department Table
CREATE TABLE `department` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`description` TEXT,
`divisionId` INT,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT fk_DivDep FOREIGN KEY (`divisionId`)
REFERENCES `division`(`id`)
);
-- Create Units Table
CREATE TABLE `units` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`description` TEXT,
`departmentId` INT,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT fk_DepUnits FOREIGN KEY (`departmentId`)
REFERENCES `department`(`id`)
);
CREATE TABLE `notifications` (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
sender_id INT,
receiver_id INT,
notification_type VARCHAR(150),
notifiable_id INT,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
CREATE TABLE `saved_processes` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`table_name` VARCHAR(250) NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);