eeg_certs/backend/sql/schema.sql

64 lines
1.9 KiB
MySQL
Raw Normal View History

2023-08-29 22:49:02 +00:00
-- Mysql schema
-- Enter the mysql container
-- sudo docker exec -it eegsac mysql -u root --password=123456789 educa7ls_plataforma
2023-08-30 12:31:42 +00:00
-- docker run --name eegsac -e MYSQL_ROOT_PASSWORD=123456789 -p 3306:3306 -d mysql:8.0-debian
CREATE TABLE person (
person_id INTEGER PRIMARY KEY AUTO_INCREMENT,
person_dni VARCHAR(8) NOT NULL,
person_names VARCHAR(50) NOT NULL,
person_paternal_surname VARCHAR(30) NOT NULL,
person_maternal_surname VARCHAR(30) NOT NULL
2023-08-29 22:49:02 +00:00
);
2023-08-29 22:49:02 +00:00
CREATE TABLE course (
course_id INTEGER PRIMARY KEY AUTO_INCREMENT,
course_name VARCHAR(50) NOT NULL,
course_display_name VARCHAR(100) NOT NULL,
course_days_amount INTEGER NOT NULL,
course_has_custom_label BOOLEAN NOT NULL
);
2023-08-30 13:55:05 +00:00
CREATE TABLE register (
register_id INTEGER PRIMARY KEY AUTO_INCREMENT,
register_code INTEGER NOT NULL,
register_creation_date DATETIME NOT NULL,
register_display_date DATETIME NOT NULL,
register_custom_label INTEGER NOT NULL,
2023-08-30 13:55:05 +00:00
register_is_preview BOOLEAN NOT NULL,
register_person_id INTEGER NOT NULL,
register_course_id INTEGER NOT NULL,
FOREIGN KEY (register_person_id) REFERENCES person (person_id),
FOREIGN KEY (register_course_id) REFERENCES course (course_id),
2023-08-29 22:49:02 +00:00
CONSTRAINT fk_register_custom_label
FOREIGN KEY (register_custom_label)
REFERENCES custom_label(custom_label_id)
);
2023-08-29 22:49:02 +00:00
CREATE TABLE custom_label (
custom_label_id INTEGER PRIMARY KEY AUTO_INCREMENT,
custom_label_value VARCHAR(50) NOT NULL
);
2023-08-29 22:49:02 +00:00
-- Migration
2023-08-29 22:49:02 +00:00
-- Empty label
INSERT INTO custom_label (custom_label_value) VALUES ('');
2023-08-29 22:49:02 +00:00
ALTER TABLE register MODIFY COLUMN register_custom_label INTEGER NOT NULL DEFAULT 1;
2023-08-29 22:49:02 +00:00
-- Set all registers by default to empty label
UPDATE register SET register_custom_label = 1;
2023-08-29 22:49:02 +00:00
-- Add constraint after all values are set to empty label
ALTER TABLE register CONSTRAINT fk_register_custom_label
FOREIGN KEY (register_custom_label)
REFERENCES custom_label(custom_label_id);
2023-08-29 22:49:02 +00:00
-- End migration