This commit is contained in:
ivan-pelly
2026-04-10 17:53:16 -07:00
parent 0036e25b9c
commit 25d5ce969c
5 changed files with 58 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
CREATE TABLE `school_district` (
`id_school_district` char(36) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`contact_email` varchar(255) DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id_school_district`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+12
View File
@@ -0,0 +1,12 @@
CREATE TABLE `student` (
`id_student` char(36) NOT NULL,
`id_program` char(36) DEFAULT NULL,
`identifier` varchar(50) DEFAULT NULL,
`program_year` int DEFAULT NULL,
`enrollment_date` date DEFAULT NULL,
`next_iep_date` date DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id_student`),
KEY `student_ibfk_1` (`id_program`),
CONSTRAINT `student_ibfk_1` FOREIGN KEY (`id_program`) REFERENCES `program` (`id_program`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+12
View File
@@ -0,0 +1,12 @@
CREATE TABLE `user` (
`id_user` char(36) NOT NULL,
`email` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`password_hash` varchar(255) DEFAULT NULL,
`password_salt` varchar(255) DEFAULT NULL,
`password_updated_at` timestamp NULL DEFAULT NULL,
`failed_login_attempts` int DEFAULT '0',
`locked_until` timestamp NULL DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+16
View File
@@ -0,0 +1,16 @@
CREATE TABLE `user_program` (
`id_user_program` char(36) NOT NULL,
`id_user` char(36) DEFAULT NULL,
`id_program` char(36) DEFAULT NULL,
`id_role` char(36) DEFAULT NULL,
`is_primary` tinyint(1) DEFAULT '0',
`status` varchar(20) DEFAULT 'active',
`joined_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id_user_program`),
UNIQUE KEY `uq_user_program` (`id_user`,`id_program`),
KEY `idx_id_program` (`id_program`),
KEY `idx_user_program_role` (`id_role`),
CONSTRAINT `user_program_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`),
CONSTRAINT `user_program_ibfk_2` FOREIGN KEY (`id_program`) REFERENCES `program` (`id_program`),
CONSTRAINT `user_program_ibfk_3` FOREIGN KEY (`id_role`) REFERENCES `role` (`id_role`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+11
View File
@@ -0,0 +1,11 @@
CREATE TABLE `user_student` (
`id_user_student` char(36) NOT NULL,
`id_user` char(36) DEFAULT NULL,
`id_student` char(36) DEFAULT NULL,
`is_primary` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`id_user_student`),
KEY `user_student_ibfk_1` (`id_user`),
KEY `user_student_ibfk_2` (`id_student`),
CONSTRAINT `user_student_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`),
CONSTRAINT `user_student_ibfk_2` FOREIGN KEY (`id_student`) REFERENCES `student` (`id_student`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;