Skip to content

Conversation

@Sunja-An
Copy link
Contributor

Warning

이슈와 프로젝트(Project) 연결 시 반드시 주의하세요.
이는 업무 효율도를 위해서 사용하는 것이지 때문에 협조 부탁드립니다. 추가로, 완료 된 PR 이라면 리뷰어를 직접적으로 연결해주세요 :)

📌 연결된 이슈

📖 주요 변경 사항

변경 된 사항에 대해서 개조식으로 작성해주세요

  • Flyway 설치 및 Schema 제작

🔖 작업 내용 요약

작업한 내용에 대해서, 간단하게 요약해주세요

😎 질문

  • 따로 없습니다! 반대로 궁금한 점 있을 경우 댓글 작성해주세요!

@Sunja-An Sunja-An self-assigned this Dec 12, 2025
@Sunja-An Sunja-An added the ✨ Feature Feature Develop label Dec 12, 2025
@polyglot-k
Copy link
Contributor

/gemini review

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 PR은 Flyway를 도입하여 데이터베이스 스키마 버전 관리를 시작하는 중요한 변경을 담고 있습니다. 전반적으로 Flyway 설정과 초기 스키마 파일이 잘 추가되었습니다. 리뷰에서는 몇 가지 중요한 점들을 지적했습니다. 첫째, V1__init.sql 파일에 포함된 DROP TABLE 구문은 데이터 유실의 위험이 있어 제거가 필요합니다. 둘째, UserProfile 간의 일대일 관계 설계가 표준적이지 않아 리팩토링이 필요해 보입니다. 셋째, build.gradle의 의존성 설정, 엔티티와 스키마 간의 불일치, 그리고 테스트 스키마와 마이그레이션 스키마 간의 차이점 등 유지보수성과 안정성을 높이기 위한 몇 가지 제안을 드렸습니다. 추가적으로, application-local.yaml 파일에서 spring.jpa.hibernate.ddl-auto 속성이 update로 되어 있는데, Flyway와 충돌을 피하기 위해 none으로 변경하는 것을 강력히 권장합니다. 이 부분은 변경사항에 포함되지 않아 코멘트를 남기지 못했지만 매우 중요한 사항입니다.

Comment on lines 2 to 8
DROP TABLE IF EXISTS private_messages;
DROP TABLE IF EXISTS feed_comments;
DROP TABLE IF EXISTS feeds;
DROP TABLE IF EXISTS users;
DROP TABLE IF EXISTS profiles;
DROP TABLE IF EXISTS communities;
DROP TABLE IF EXISTS companies;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

V1 초기 마이그레이션 스크립트에 DROP TABLE IF EXISTS 구문이 포함되어 있습니다. 이는 매우 위험할 수 있습니다. 만약 비어있지 않은 데이터베이스에 대해 이 마이그레이션이 실행될 경우 모든 데이터가 삭제될 수 있습니다. Flyway 마이그레이션은 버전 관리를 통해 스키마를 점진적으로 변경하는 것을 목적으로 하므로, 초기 스키마를 생성하는 V1 스크립트에서는 테이블을 삭제하는 구문을 포함하지 않는 것이 안전합니다. 데이터 유실 위험을 방지하기 위해 이 DROP 구문들을 제거하는 것을 강력히 권장합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feature Feature Develop

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[📌 Feature] Flyway DB Schema 버젼 관리

3 participants