35149-vm/db/migrations/007_create_users_and_roles_tables.sql
Flatlogic Bot 7a3409404c v01
2025-10-23 20:44:05 +00:00

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;