Files
fm_be/migrations/20260529_create_fleet_status_tables.sql
2026-07-16 22:16:45 +07:00

36 lines
1.6 KiB
SQL

CREATE TABLE IF NOT EXISTS fleet_statuses (
id BINARY(16) PRIMARY KEY,
helicopter_id BINARY(16) NOT NULL,
created_at DATETIME(3) NULL,
created_by BINARY(16) NULL,
updated_at DATETIME(3) NULL,
updated_by BINARY(16) NULL,
deleted_at DATETIME(3) NULL,
deleted_by BINARY(16) NULL,
INDEX idx_fleet_statuses_helicopter_id (helicopter_id),
INDEX idx_fleet_statuses_deleted_at (deleted_at),
CONSTRAINT fk_fleet_statuses_helicopter FOREIGN KEY (helicopter_id) REFERENCES helicopters(id)
);
CREATE TABLE IF NOT EXISTS maintenance_schedules (
id BINARY(16) PRIMARY KEY,
fleet_status_id BINARY(16) NOT NULL,
inspection_type VARCHAR(16) NOT NULL,
type VARCHAR(255) NOT NULL,
due VARCHAR(255) NULL,
ext VARCHAR(255) NULL,
INDEX idx_maintenance_schedules_fleet_status_id (fleet_status_id),
CONSTRAINT chk_maintenance_schedules_inspection_type CHECK (inspection_type IN ('A/F','ENG1','ENG2','MAIN1','MAIN2')),
CONSTRAINT fk_maintenance_schedules_fleet_status FOREIGN KEY (fleet_status_id) REFERENCES fleet_statuses(id) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE IF NOT EXISTS fleet_status_files (
id BINARY(16) PRIMARY KEY,
fleet_status_id BINARY(16) NOT NULL,
file_attachment_id BINARY(16) NOT NULL,
INDEX idx_fleet_status_files_fleet_status_id (fleet_status_id),
INDEX idx_fleet_status_files_attachment_id (file_attachment_id),
CONSTRAINT fk_fleet_status_files_fleet_status FOREIGN KEY (fleet_status_id) REFERENCES fleet_statuses(id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_fleet_status_files_attachment FOREIGN KEY (file_attachment_id) REFERENCES attachments(id)
);