35106-vm/db/migrations/001_initial_schema.sql
Flatlogic Bot 9d4612b106 version2.0
2025-10-22 11:43:14 +00:00

41 lines
1.3 KiB
SQL

CREATE TABLE IF NOT EXISTS `Users` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`email` VARCHAR(255) NOT NULL UNIQUE,
`password` VARCHAR(255) NOT NULL,
`role` ENUM('Admin', 'Student', 'Super Admin') NOT NULL,
`gender` ENUM('Male', 'Female', 'Other'),
`year` INT,
`department` VARCHAR(255),
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS `Rooms` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`room_no` VARCHAR(50) NOT NULL,
`block` VARCHAR(50),
`capacity` INT NOT NULL,
`occupied` INT DEFAULT 0,
`type` VARCHAR(100),
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS `Allocations` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`student_id` INT NOT NULL,
`room_id` INT NOT NULL,
`allocation_date` DATE,
`status` VARCHAR(100),
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (`student_id`) REFERENCES `Users`(`id`) ON DELETE CASCADE,
FOREIGN KEY (`room_id`) REFERENCES `Rooms`(`id`) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS `Requests` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`student_id` INT NOT NULL,
`room_preference` VARCHAR(255),
`approval_status` VARCHAR(100) DEFAULT 'Pending',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (`student_id`) REFERENCES `Users`(`id`) ON DELETE CASCADE
);