23 lines
982 B
SQL
23 lines
982 B
SQL
CREATE TABLE IF NOT EXISTS `users` (
|
|
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
|
`username` VARCHAR(50) NOT NULL UNIQUE,
|
|
`password` VARCHAR(255) NOT NULL,
|
|
`role` ENUM('employee', 'manager', 'admin') NOT NULL,
|
|
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `tasks` (
|
|
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
|
`title` VARCHAR(255) NOT NULL,
|
|
`description` TEXT,
|
|
`status` ENUM('Not started', 'In progress', 'Blocked', 'Done') NOT NULL DEFAULT 'Not started',
|
|
`priority` ENUM('Low', 'Medium', 'High') NOT NULL DEFAULT 'Medium',
|
|
`assignee_id` INT,
|
|
`manager_id` INT,
|
|
`due_date` DATE,
|
|
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (`assignee_id`) REFERENCES `users`(`id`) ON DELETE SET NULL,
|
|
FOREIGN KEY (`manager_id`) REFERENCES `users`(`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|