28 lines
936 B
SQL
28 lines
936 B
SQL
-- Create roles table
|
|
CREATE TABLE IF NOT EXISTS `roles` (
|
|
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
|
`name` VARCHAR(50) NOT NULL UNIQUE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- Seed the roles table with the confirmed roles
|
|
INSERT INTO `roles` (`name`) VALUES
|
|
('Admin'),
|
|
('Faculty'),
|
|
('Program Coordinator'),
|
|
('Internal Reviewer'),
|
|
('External Evaluator')
|
|
ON DUPLICATE KEY UPDATE name=name; -- Avoid errors on re-running
|
|
|
|
-- Create users table
|
|
CREATE TABLE IF NOT EXISTS `users` (
|
|
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
|
`email` VARCHAR(255) NOT NULL UNIQUE,
|
|
`password` VARCHAR(255) NOT NULL,
|
|
`first_name` VARCHAR(100),
|
|
`last_name` VARCHAR(100),
|
|
`role_id` INT,
|
|
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (`role_id`) REFERENCES `roles`(`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|