도리안의 2025년 개발기 #127 - Room 데이터베이스 변경 그리고 마이그레이션

Room 데이터베이스 변경 그리고 마이그레이션

No. 127
2025. 07. 11 (금) | Written by @dorian-dev

오늘의 개발기

오늘은 어제 시작한 Room 데이터베이스 변경을 마무리했고, 버전 업에 따르는 마이그레이션도 무사히 완료했다. 이번 프로젝트에서 가장 어려운 작업이 되지 않을까 우려했지만, 예상보다 어렵지 않았다. 왜 어렵다고 생각했을까... 그것은 내가 경험해본 것이 아니라는 막연한 두려움이 아니었나 생각한다. 어찌됐든 잘 마무리가 되어 다행이다.

개발 환경
  • OS: Android
  • 사용 기술: Jetpack Compose, ViewModel, Room
오늘 한 작업
  • 년도별 버전 적용을 위해 일부 테이블들에 year 컬럼 추가
  • 테이블 변경에 따른 DAO 클래스, ViewModel 클래스들의 일부 함수에 year 파라메터 추가
  • 데이터베이스 마이그레이션
    • 일부 기존 테이블에 year 컬럼 추가 (디폴트 값: "2025")
    • 사용하지 않는 테이블 삭제
  • 문제 버전(2025 또는 2026) 구독 코드 작성
    • 데이터 수신시 할 일: 홈 화면에서 정답률, 진도율 업데이트
  • 문제 개수, 푼 문제 개수 구독 코드 변경
    • 문제 버전 변경되면, 자동으로 변경된 데이터 구독
차주 월요일 할 작업
  • 년도 선택 팝업 개발
    • 2025: 안내 문구 추가
    • 2026: 쿠폰 등록 양식 구현, 쿠폰 등록 API 연동
후기

오늘도 무사해서(?) 다행이다. 다음에 구현할 년도 선택 팝업은 어렵지 않다. 마지막 고비는 문제 화면의 다크/라이트 모드 개발. 이것도 난이도가 높다기보다는 해당 경험이 없기 때문이다. 정말로 어려운 건지는 나중에 개발해보면 알 수 있을 것이다.


지난 2025년 개발기


Layout provided by Steemit Enhancer hommage by ayogom


Posted through the ECblog app (https://blog.etain.club)
Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-dev님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

Upvoted! Thank you for supporting witness @jswit.