Claude Skill MartKhám phá skillCâu dùng ngayHọc qua videoDùng terminalSkill là gì?
Về danh sách

Quy trình migration D1

Hướng dẫn thực chiến để tạo, kiểm tra, áp dụng migration Cloudflare D1 với Drizzle và cứu các migration bị kẹt.

Lập trìnhTrung cấp981101Điểm AI 8/10Cập nhật lần cuối: 2 thg 7, 2026

Làm được gì

  • Buộc đọc kỹ file SQL do pnpm db:generate sinh ra trước khi áp dụng, nhận diện mẫu nguy hiểm "tạo lại bảng" (CREATE new → INSERT SELECT → DROP → RENAME) mà Drizzle tạo ra khi bạn chỉ đổi giá trị default, và sửa thành ALTER TABLE ADD COLUMN đơn giản.
  • Quy trình áp dụng cho cả local và remote (--local / --remote) rồi kiểm chứng bằng PRAGMA table_info.
  • Chẩn đoán và sửa migration bị kẹt do áp dụng một phần: truy vấn bảng d1_migrations, ghi tay bản ghi migration rồi chạy tiếp.
  • Mẫu code chia lô (batch) để tránh lỗi âm thầm khi INSERT nhiều dòng do giới hạn tham số của D1 (~100–150).
  • Quy ước đặt tên cột (camelCase trong Drizzle vs snake_case trong SQL thuần) và thứ tự thiết lập dự án mới: deploy Worker → tạo D1 → gắn binding → deploy lại → migrate.

Phù hợp với ai

  • Dev backend/fullstack dùng Cloudflare Workers + D1 + Drizzle ORM.
  • Nhóm hay gặp cảnh "chạy tốt ở local, vỡ ở production" vì migration lệch.
  • Người phải tra cứu lệnh wrangler mỗi lần dùng.

Ví dụ sử dụng

  1. Sau khi thêm cột vào schema, yêu cầu "tạo và áp dụng migration" → Claude đọc SQL trước, phát hiện mẫu tạo lại bảng và sửa thành ALTER an toàn, rồi apply cả local lẫn remote.
  2. db:migrate báo lỗi "duplicate column" → kiểm tra PRAGMA table_infod1_migrations, ghi tay migration bị kẹt để các migration sau chạy bình thường.
  3. Insert 500 dòng seed data thất bại không báo lỗi → refactor thành vòng lặp batch 10 dòng.

· · · Hướng dẫn cài đặt · · ·

Dùng thử ngay, không cần cài

Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.

Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình:
https://raw.githubusercontent.com/jezweb/claude-skills/HEAD/plugins/cloudflare/skills/d1-migration/SKILL.md

Mình muốn: (viết việc bạn cần ở đây)

Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.

Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.

Cài vào ứng dụng Claude (không cần terminal)
  1. Tải tệp ZIP bằng nút bên dưới.
  2. Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
  3. Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Tải ZIP
Cài vào Claude Code

Để Claude làm — dán câu dưới đây vào Claude Code

Hãy cài skill mình tìm thấy trên Claude Skill Mart.
Copy thư mục plugins/cloudflare/skills/d1-migration từ repo GitHub jezweb/claude-skills vào ~/.claude/skills/d1-migration/ của mình.
Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.

Cài bằng lệnh thủ công

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

Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.

  1. Cài Claude Code và mở terminal.
  2. Tải repo: git clone https://github.com/jezweb/claude-skills.git
  3. Tạo thư mục skill: mkdir -p ~/.claude/skills
  4. Copy skill: cp -r claude-skills/plugins/cloudflare/skills/d1-migration ~/.claude/skills/
  5. Kiểm tra tồn tại file ~/.claude/skills/d1-migration/SKILL.md.
  6. Đảm bảo dự án đã có wrangler, Drizzle và các script db:generate, db:migrate:local, db:migrate:remote trong package.json.
  7. Khởi động lại Claude Code trong thư mục dự án và nói "tạo migration D1 rồi áp dụng" để kích hoạt.