피드로 돌아가기
Dev.toDatabase
원문 읽기
SQLite 역공학을 통한 2,285개 노트의 Markdown 마이그레이션 성공
I Reverse Engineered a Closed-Format App. Everything Was in SQLite.
AI 요약
Context
내보내기 기능이 부재한 폐쇄적 포맷의 Youdao Cloud Note 데이터 추출 필요성 대두. 로컬 스토리지 내 SQLite DB와 파일 시스템이 혼재된 파편화된 데이터 구조가 병목으로 작용.
Technical Solution
- SQLite DB 분석을 통한 Note Metadata와 Folder Hierarchy의 관계형 모델 식별
- BFS 알고리즘 기반의 note_book 테이블 순회를 통한 폴더 트리 구조 복원
- orgEditorType 필드값에 따른 데이터 소스 분기 처리(0: Local File, 1: SQLite Content Table)
- JSON 기반 Block Tree 구조의 재귀적 탐색을 통한 Markdown 변환 렌더러 구현
- entryPath 참조를 통한 로컬 JSON/Markdown 파일의 물리적 매핑 및 병합
- YAML Frontmatter를 활용한 메타데이터 보존 및 파일 시스템 기반의 Vault 구조 재구성
실천 포인트
1. 로컬 데이터 분석 시 SQLite의 NULL 값 처리와 Unix Timestamp 단위(sec vs ms) 정밀 검증
2. 계층 구조 데이터 추출 시 BFS/DFS를 활용한 트리 순회 로직 설계
3. 정형/비정형 데이터 혼재 시 타입 필드(EditorType 등)를 통한 조건부 파싱 전략 수립