개인정보-컴플라이언스-웹애플리케이션 (수정사항 5)
2025. 1. 29. 19:00ㆍ프로젝트
728x90
슈퍼유저페이지에서는 기관회원이 등록한 시스템을 삭제할수 있어야함 시스템삭제 → 해당 시스템의 자가진단결과도 같이 삭제 되어야합니다.
✅ 방법 1: ON DELETE CASCADE 설정 추가 (외래 키)
현재 assessment_result 테이블에는 system_id가 systems(id)를 참조하는 외래 키가 존재하지만,
이 외래 키에 ON DELETE CASCADE가 설정되지 않습니다.
📌 수정된 assessment_result 테이블 외래 키 설정
ALTER TABLE assessment_result DROP FOREIGN KEY assessment_result_ibfk_1;
ALTER TABLE assessment_result
ADD CONSTRAINT fk_assessment_result_system
FOREIGN KEY (system_id) REFERENCES systems(id) ON DELETE CASCADE;
systems 테이블에서 특정 system_id가 삭제되면, 연관된 assessment_result 행들도 자동으로 삭제됩니다.
✅ 방법 2: ON DELETE CASCADE를 추가할 테이블 목록
자가진단과 관련된 모든 연관 데이터가 함께 삭제되도록 다음 테이블의 FOREIGN KEY를 수정해야 합니다.
ALTER TABLE self_assessment DROP FOREIGN KEY self_assessment_ibfk_1;
ALTER TABLE self_assessment
ADD CONSTRAINT fk_self_assessment_system
FOREIGN KEY (system_id) REFERENCES systems(id) ON DELETE CASCADE;
ALTER TABLE quantitative_responses DROP FOREIGN KEY quantitative_responses_ibfk_1;
ALTER TABLE quantitative_responses
ADD CONSTRAINT fk_quantitative_responses_system
FOREIGN KEY (system_id) REFERENCES systems(id) ON DELETE CASCADE;
ALTER TABLE qualitative_responses DROP FOREIGN KEY qualitative_responses_ibfk_1;
ALTER TABLE qualitative_responses
ADD CONSTRAINT fk_qualitative_responses_system
FOREIGN KEY (system_id) REFERENCES systems(id) ON DELETE CASCADE;
ALTER TABLE feedback DROP FOREIGN KEY feedback_ibfk_1;
ALTER TABLE feedback
ADD CONSTRAINT fk_feedback_assessment
FOREIGN KEY (assessment_result_id) REFERENCES assessment_result(id) ON DELETE CASCADE;
'프로젝트' 카테고리의 다른 글
개인정보-컴플라이언스-웹애플리케이션 (수정사항 7) (0) | 2025.02.02 |
---|---|
개인정보-컴플라이언스-웹애플리케이션 (수정사항 6) (0) | 2025.01.29 |
개인정보-컴플라이언스-웹애플리케이션 (수정사항 4) (0) | 2025.01.29 |
개인정보-컴플라이언스-웹애플리케이션 (수정사항 3) (0) | 2025.01.29 |
개인정보-컴플라이언스-웹애플리케이션 (수정사항 2-3) (0) | 2025.01.29 |