도리안의 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년 개발기
- #126 - Room 데이터베이스 변경 중
- #125 - 이번 프로젝트에서 가장 어렵다고 생각하는 점
- #124 - 지금은 속도보다는 막히지 않음에 의미를...
- #123 - 데이터가 업데이트 될 때마다 리스트가 필요한 경우와 처음 1번만 필요한 경우
- #122 - 안드로이드 개발자의 휴직
- #121 - 앞으로는 자기계발 시간 확보가 중요
- #120 - 안드로이드 15 기기에서 Volley 라이브러리 작동 안되는 듯
- #119 - 안드로이드 앱 타겟 버전 35로 올려야 함
- #118 - 예상보다 길어지는 홈 화면 개발 일정
- #117 - 프리뷰(preview)를 추가하며 개발 중
- #116 - 다음 프로젝트에 대한 소문
- #115 - 저번 프로젝트에서 Jetpack Compose로 리뉴얼 하길 잘했다고 생각한 이유
- #114 - 프로젝트를 마치고 긴장이 풀렸다
- #113 - 팝업을 닫은 후에도 쿠폰 입력 화면이 여전히 남아 있는 문제 해결
- #112 - 출시를 앞두고 쿠폰 입력 화면이 다시 뜨는 문제
- #111 - 다음 프로젝트 일정에 대한 걱정
- #110 - 이미지 추가 변경 건 그리고 다음 프로젝트 준비
- #109 - 내부 테스트 없이 Play Asset Delivery 테스트 가능 (Android)
- #108 - 다음 프로젝트 시작해야 하는데...
- #107 - 학습 알림 추가 화면에서 다시 나타난 버그
- #106 - Room 데이터 업데이트 직후 UI 작동 오류 (팝업 A, B가 연달아 뜸)
- #105 - 미래에 대한 기대와 걱정
- #104 - Room으로 데이터 읽기는 즉시 반환 함수보다 Flow 권장
- #103 - 매주 금요일 저녁에는 '한주 동안 내가 한 일'을 기록하며 회고
- #102 - Jetpack Compose로 클릭 처리시, 팝업이 잠시 보이고 다시 사라지는 문제
- #101 - 홈 화면에서 진도율이 0%만 뜨는 버그를 수정하며 배운 점
- #1 ~ #100
Layout provided by Steemit Enhancer hommage by ayogom
Posted through the ECblog app (https://blog.etain.club)
안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.
안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-dev님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!
Upvoted! Thank you for supporting witness @jswit.