본문 바로가기
카테고리 없음

AWS Spring 배포과정에서 발생한 문제들

by Mr.noobiest 2021. 7. 14.

 

 

1. mysql의 테이블 생성시 테이블의 앞글자가 대문자(model 파일명)로 자동 생성되는 문제 발생

 

  1-1) mysql자체에서 DDL로 테이블을 직접 생성 -> 생성은 되지만 1.에서 생성된 테이블과 데이터가 섞이는 문제 발생(X)

 

  1-2) 전략 변경 -> mysql 테이블 전체 삭제 후 pom.xml -> jpa.hibernat.naming-strategy를  org.hibernate.cfg.EJB3NamingStrategy 로 변경

테이블명이 JAP가 설정하는 테이블명으로 정상적으로 생성됨(해결)

 

 

2. 댓글입력시 테이블명이 일치되지 않는 문제 발생

2-1) DTO의 변수명 변경 -> 해결안됨

2-2) Repository에서 설정한 쿼리문 변경 -> ForeignKey문제 발생

Cannot add or update a child row: a foreign key constraint fails

 

2-2-1) board와 user의 id를 입력하는 foreign키가 문제라고 함 -> repository와 dto에는 문제가 없으므로 view의 jsp를 살펴봄

 

댓글 생성 버튼을 누르면 발생하는 function과 ajax이다

replySave: function() {
let data = {
userId: $("#userId").val(),
boardId: $("#boardId").val(),
content: $("#reply-content").val()
}
//ajax 데이터 호출이후 정보가 다 지워지므로 이렇게 적어줘야 location.href할때 적용가능함
//url의 boardId와
//let boardId= $("#boardId").val();

$.ajax({
type: "POST",
url: `/api/board/${data.boardId}/reply`,
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json"
}).done(function(resp) {
alert("댓글 작성 완료");
location.href = `/board/${data.board_id}`;
})
.fail(function(error) {
alert(JSON.stringify(error));
});
},

ajax자체는 문제가 없다고 판단 -> data의 board_id와 user_id가 reply테이블의 컬럼명과 다른것을 발견함

blog.reply.user_id / blog.reply.board_id

 

변경

userId -> user_id

boardId -> board_id

 

변경후 테스트 결과 정상적으로 댓글 생성 및 삭제가 가능함

 

728x90
반응형