QT 시드 데이터: 레거시 import + db:seed

ID: ea9bbdee-49d5-40d0-ac0a-38fafc7414a9

높음 완료

## 목표
QT 테마/콘텐츠 시드 데이터를 생성하고, 레거시 import rake task를 작성합니다.

## 작업 범위

### 1. 레거시 데이터 확인
- /mnt/c/dev/logbible/sql/ 디렉토리에서 SQL insert 파일 확인
- 테마와 콘텐츠 데이터 구조 파악
- 사용 가능한 데이터가 없으면 샘플 데이터 직접 생성

### 2. db/seeds.rb 기본 시드
최소한 아래 데이터를 포함:
- 기본 QT 테마 1-2개 (is_default: true)
- 각 테마에 7-14일치 콘텐츠
- 콘텐츠 형식:
```
day_number: 1
bible_passage: "창세기 1:1-31"
theme_title: "천지 창조"
content: "하나님이 천지를 창조하시니라..."
questions: ["배경 설명", "핵심 메시지", "성찰 질문 1", "성찰 질문 2", "위로와 격려"]
difficulty: 3
```
- 테스트용 사용자 1명 (admin)
- 테스트용 QT 세션 1개
- 테스트용 참여자 1명

### 3. lib/tasks/import_legacy.rake
```ruby
namespace :import do
desc "Import QT themes and contents from legacy SQL/JSON"
task qt_data: :environment do
# 레거시 SQL 또는 JSON 파일에서 데이터 읽기
# QtTheme, QtContent 모델로 import
# UUID 보존 (기존 ID 유지)
end
end
```

### 4. 레거시 데이터 변환
- SQL INSERT 문 파싱 → Ruby 해시 변환
- 또는 Supabase REST API 호출 스크립트
- JSON 중간 파일 생성 (db/seed_data/*.json)

### 5. 테스트
- test/tasks/import_legacy_test.rb (rake task 실행 테스트)
- 또는 seeds 실행 후 데이터 검증

## 기존 모델 (참고)
- QtTheme: title, description, is_default, is_active, total_day, user_id(nullable)
- QtContent: qt_theme_id, day_number, bible_passage, theme_title, content, questions(JSON), difficulty
- User: email, nickname, role(enum)
- QtSession: title, qt_theme_id, creator_id, start_date, end_date, total_days, invite_code

## 중요 사항
- DB 마이그레이션은 건드리지 마세요 (모델은 이미 있음)
- Gemfile은 수정하지 마세요
- config/routes.rb는 수정하지 마세요
- 성경 데이터는 한국어로 작성

## 참고
- 레거시 경로: /mnt/c/dev/logbible
- docs/migration/index.md §10 데이터 마이그레이션 전략

첨부 이미지

이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)

JPEG, PNG, GIF, WebP / 최대 10MB

담당자: seed-dev
생성일: 2026년 03월 02일 01:15

활동 로그

  • 팀리드 상태 변경: 리뷰 → 완료

    2026년 03월 02일 01:40:32

  • S
    seed-dev 상태 변경: 진행 중 → 리뷰

    2026년 03월 02일 01:38:51

  • S
    seed-dev QT 시드 데이터 구현 완료

    2026년 03월 02일 01:38:50

    상세 보기

    ## 구현 완료

    ### 생성된 데이터
    - **사용자 2명**: admin@logbible.co.kr (관리자), daniel@logbible.co.kr (일반)
    - **QT 테마 3개**:
    1. 30일 창세기 통독 (is_default: true, published)
    2. 7일 초보자 묵상 (요한복음 중심)
    3. 14일 시편 묵상
    - **QT 콘텐츠 51일분**:
    - 창세기 30일: 천지창조~요셉의 마지막 (실제 성경 기반)
    - 초보자 7일: 요한복음 핵심 구절
    - 시편 14일: 시편 23, 1, 19, 27, 34, 46, 51, 91, 100, 103, 119, 121, 139, 150편
    - 각 일차별: bible_passage, content, questions(5개), difficulty, estimated_minutes
    - **QT 세션 1개**: 창세기 30일 통독 (active, invite_code 자동 생성)
    - **참여자 2명**: admin(creator), daniel(member)

    ### 기술 사항
    - 멱등성 보장: `find_or_create_by!` 사용, 재실행 시 중복 없음
    - JSON 컬럼(questions): Ruby 배열로 정상 저장
    - UUID PK: ApplicationRecord의 set_uuid 콜백으로 자동 처리
    - 한국어 콘텐츠 작성 완료

    ### 수정 파일
    - `db/seeds.rb` (단일 파일만 수정)

  • S
    seed-dev 시드 데이터 작업 시작

    2026년 03월 02일 01:21:44

    상세 보기

    ## 작업 계획
    - 테스트 사용자 2명 (admin, daniel)
    - QT 테마 3개 (창세기 30일, 초보자 7일, 시편 14일)
    - QT 콘텐츠: 총 51일분
    - 테스트 세션 1개 + 참여자 2명
    - 멱등성 보장 (find_or_create_by!)

  • S
    seed-dev 티켓 클레임 완료

    2026년 03월 02일 01:21:38