38 lines
1.3 KiB
SQL
38 lines
1.3 KiB
SQL
-- Create appointments table
|
|
CREATE TABLE IF NOT EXISTS appointments (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
patient_id INT NOT NULL,
|
|
doctor_id INT NOT NULL,
|
|
start_time DATETIME NOT NULL,
|
|
end_time DATETIME NOT NULL,
|
|
status ENUM('Scheduled', 'Completed', 'Cancelled') DEFAULT 'Scheduled',
|
|
reason TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (patient_id) REFERENCES patients(id) ON DELETE CASCADE,
|
|
FOREIGN KEY (doctor_id) REFERENCES doctors(id) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Create holidays table
|
|
CREATE TABLE IF NOT EXISTS holidays (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
holiday_date DATE NOT NULL,
|
|
name_en VARCHAR(255) NOT NULL,
|
|
name_ar VARCHAR(255) NOT NULL,
|
|
is_recurring BOOLEAN DEFAULT FALSE
|
|
);
|
|
|
|
-- Create doctor schedules table (working hours)
|
|
CREATE TABLE IF NOT EXISTS doctor_schedules (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
doctor_id INT NOT NULL,
|
|
day_of_week INT NOT NULL, -- 0 (Sunday) to 6 (Saturday)
|
|
start_time TIME NOT NULL,
|
|
end_time TIME NOT NULL,
|
|
FOREIGN KEY (doctor_id) REFERENCES doctors(id) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Seed some holidays
|
|
INSERT INTO holidays (holiday_date, name_en, name_ar, is_recurring) VALUES
|
|
('2026-01-01', 'New Year', 'رأس السنة', TRUE),
|
|
('2026-12-25', 'Christmas', 'عيد الميلاد', TRUE);
|