클로드스킬마트스킬 둘러보기바로 쓰는 문장영상으로 배우기터미널 사용법스킬이 뭐예요?
← 목록으로

Cloudflare D1 마이그레이션 워크플로

Drizzle로 생성한 Cloudflare D1 마이그레이션을 안전하게 검토·적용하고, 막힌 마이그레이션까지 복구하는 실전 가이드 스킬.

개발·코딩중급★ 1,034⑂ 105AI 점수 8/10마지막 업데이트: 2026. 9. 29.

무엇을 해주나

  • pnpm db:generate로 만든 마이그레이션 SQL을 적용 전에 반드시 검토하도록 유도하고, Drizzle이 기본값 변경 시 생성하는 위험한 "테이블 재생성(CREATE new → INSERT SELECT → DROP → RENAME)" 패턴을 찾아 단순 ALTER TABLE ADD COLUMN으로 고치는 방법을 안내합니다.
  • 로컬(--local)과 리모트(--remote) 양쪽 모두에 적용하는 순서와, PRAGMA table_info로 검증하는 명령을 제공합니다.
  • 컬럼은 이미 추가됐는데 마이그레이션 기록이 남지 않아 재시도 시 중복 컬럼 오류가 나는 "막힌 마이그레이션"을 d1_migrations 테이블 조회/수동 기록으로 복구합니다.
  • D1의 파라미터 한계(대략 행×열 100~150개)로 인한 대량 INSERT 실패를 배치 분할 코드로 회피합니다.
  • Drizzle 스키마(camelCase)와 원시 SQL(snake_case) 네이밍 규칙, 신규 프로젝트에서 Worker 배포 → D1 생성 → database_id 연결 → 재배포 → 마이그레이션 순서를 정리합니다.

이런 분께 추천

  • Cloudflare Workers + D1 + Drizzle ORM으로 서비스를 운영하는 개발자
  • "로컬에선 되는데 프로덕션에서 깨지는" 스키마 문제로 시간을 뺏긴 적 있는 분
  • Claude Code에게 마이그레이션 실행/오류 해결을 맡기고 싶은 분

활용 예시

  1. "컬럼 추가 마이그레이션 생성했는데 적용하면 실패해" → 생성된 SQL의 테이블 재생성 패턴을 짚어내고 ALTER TABLE ... ADD COLUMN 한 줄로 교체.
  2. "db:migrate가 이미 끝난 것 같은 마이그레이션에서 계속 에러야" → PRAGMA table_info와 SELECT * FROM d1_migrations로 진단한 뒤 해당 마이그레이션을 수동 기록하고 나머지를 이어서 실행.
  3. "시드 데이터 500행을 넣는데 조용히 실패해" → BATCH_SIZE 10 단위 분할 삽입 코드로 변경.

· · · 설치 가이드 · · ·

설치 없이 지금 한 번 써보기

아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.

이 파일의 지시를 읽고 그대로 따라서 나를 도와줘:
https://raw.githubusercontent.com/jezweb/claude-skills/HEAD/archive/plugins/cloudflare/skills/d1-migration/SKILL.md

내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)

Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.

↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.

Claude 앱에 설치 (터미널 필요 없음)
  1. 아래 버튼으로 ZIP 파일을 받으세요.
  2. Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
  3. Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
↓ ZIP 내려받기
Claude Code에 설치

Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요

클로드스킬마트에서 찾은 스킬을 설치해줘.
GitHub 저장소 jezweb/claude-skills 의 archive/plugins/cloudflare/skills/d1-migration 폴더를 내 ~/.claude/skills/jezweb-d1-migration/ 에 그대로 복사해줘.
설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.

직접 명령으로 설치하기

git clone https://github.com/jezweb/claude-skills.git && mkdir -p ~/.claude/skills/d1-migration && cp -r claude-skills/archive/plugins/cloudflare/skills/d1-migration/* ~/.claude/skills/d1-migration/

⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.

  1. 터미널을 열고 스킬 저장소를 클론합니다: git clone https://github.com/jezweb/claude-skills.git
  2. 스킬 폴더를 만듭니다: mkdir -p ~/.claude/skills/d1-migration
  3. 파일을 복사합니다: cp -r claude-skills/archive/plugins/cloudflare/skills/d1-migration/* ~/.claude/skills/d1-migration/
  4. 프로젝트에 wrangler(및 Drizzle 설정)가 준비되어 있는지 확인합니다: npx wrangler --version
  5. Claude Code를 다시 시작한 뒤 "D1 마이그레이션 생성하고 로컬·리모트에 적용해줘"처럼 요청하면 스킬이 자동으로 참조됩니다.
  6. 리모트(--remote)에 적용하는 명령은 실제 운영 DB를 바꾸므로, 먼저 로컬에서 검증하고 실행하세요.