목록백엔드/DB (2)
코딩기록

1. 이슈농구장 위치공유 서비스는 최초엔 비회원 서비스를 계획하고 테이블을 구축하였는데, 추후 회원가입 기능을 구현하게 되어서, 농구장 정보를 수정한 유저 정보 컬럼에 회원 정보와 비회원 정보가 동시에 입력되게 되었다. 즉, 비회원 유저가 농구장 정보를 수정하면 lastChangeUser 컬럼에 비회원ID가 저장되고, 회원 유저가 농구장 정보를 수정해도 같은 컬럼에 회원의 닉네임이 저장되는 상태였다. 두 데이터의 성질이 다르므로, 각각 컬럼을 나누어 저장하는 것이 맞다. 이 상태에선 회원 유저가 닉네임을 수정하면 수정된 닉네임이 농구장 정보 테이블에 반영되지 않는다. 2. 해결농구장 정보 테이블에 회원ID가 저장될 user_id 컬럼과 비회원ID가 저장될 anonymous_id 컬럼을 새롭게 만들었다. ..

운동레슨예약 사이트의 회원 탈퇴 기능 구현 중 USER 데이터 삭제가 안되는 문제가 발생했다.다른 테이블에서 USER 테이블을 FOREIGN KEY로 참조하고 있기 때문이었다. 부모 데이터 삭제 시 자식 데이터를 삭제해주는 ON DELETE CASCADE 설정을 했다. 다음과 같이 만들어진 테이블의 foreign key constraints를 변경할 수 있다. 1. 기존의 foreign key를 지운다// 기존의 foreign key 지우는 방법ALTER TABLE table_name DROP FOREIGN KEY foreign_key_symbol// 실제 사용 예제alter table certificateldrop foreign key FKn3ngph1sb2mhouaacn7xy5v29; 2. ON D..