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

Trình tạo Seed Database

Đọc schema của dự án và sinh script seed dữ liệu mẫu thực tế, đúng thứ tự khóa ngoại và an toàn khi chạy lại.

Lập trìnhTrung cấp★ 1,034⑂ 105Điểm AI 9/10Cập nhật lần cuối: 29 thg 9, 2026

Làm được gì

  • Tự động tìm và đọc schema trong dự án: src/db/schema.ts, drizzle/*.sql, schema.sql, prisma/schema.prisma...
  • Phân tích bảng, cột, ràng buộc (NOT NULL, UNIQUE, DEFAULT) và quan hệ khóa ngoại để lập thứ tự insert cha → con, kể cả xử lý phụ thuộc vòng bằng khóa ngoại nullable và hai lượt insert.
  • Hỏi mục đích (dev/demo/test), khối lượng dữ liệu và bối cảnh nghiệp vụ, rồi sinh dữ liệu phù hợp — tên, email @example.com, giá, ngày ISO 8601 thực tế thay vì "test123" hay "Lorem ipsum".
  • Xuất file seed TypeScript cho Drizzle ORM (scripts/seed.ts) hoặc SQL thuần cho D1 (seed.sql), kèm lệnh chạy ghi ở đầu file.
  • Đảm bảo idempotent: delete-then-insert cho dev/test, hoặc upsert onConflictDoUpdate cho demo.
  • Tránh sẵn các bẫy của Cloudflare D1: tối đa ~10 dòng mỗi INSERT, giới hạn 100 tham số bind, không có BOOLEAN/DATETIME, JSON lưu dạng TEXT.

Dành cho ai

  • Dev dùng stack Cloudflare Workers + D1 + Drizzle
  • Backend/fullstack phải dựng lại dữ liệu dev, demo liên tục
  • Người cần dữ liệu demo "đẹp" để chụp ảnh, thuyết trình sản phẩm
  • Người muốn fixture test có biên, ký tự đặc biệt, chuỗi dài một cách hệ thống

Ví dụ sử dụng

  1. Seed schema blog — gõ "seed database", skill sinh scripts/seed.ts insert theo thứ tự users → categories → posts → comments → tags → post_tags.
  2. Dữ liệu demo e-commerce — yêu cầu "tạo 100 dòng dữ liệu demo cho shop", nhận sản phẩm có tên và giá nghe thật, dùng upsert để không xóa dữ liệu người dùng.
  3. File SQL cho D1 — nhận file INSERT chia batch 10 dòng, chạy ngay bằng npx wrangler d1 execute DB --local --file=./scripts/seed.sql.
  4. Dữ liệu tái lập được — dùng PRNG có seed cố định (seed = 42) để mỗi lần chạy ra đúng cùng một bộ dữ liệu test.

· · · 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/archive/plugins/cloudflare/skills/db-seed/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 archive/plugins/cloudflare/skills/db-seed từ repo GitHub jezweb/claude-skills vào ~/.claude/skills/jezweb-db-seed/ 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 /tmp/claude-skills && mkdir -p ~/.claude/skills/db-seed && cp -r /tmp/claude-skills/archive/plugins/cloudflare/skills/db-seed/* ~/.claude/skills/db-seed/

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

  1. Mở terminal và clone repo: git clone https://github.com/jezweb/claude-skills.git
  2. Tạo thư mục skill cá nhân: mkdir -p ~/.claude/skills/db-seed
  3. Copy file skill: cp -r claude-skills/archive/plugins/cloudflare/skills/db-seed/* ~/.claude/skills/db-seed/
  4. Kiểm tra: chạy ls ~/.claude/skills/db-seed, thấy SKILL.md là thành công.
  5. Mở claude ngay trong thư mục dự án có schema database.
  6. Nhắn ví dụ: "tạo seed data cho database này" — skill sẽ tự kích hoạt. Trả lời các câu hỏi về mục đích, khối lượng, lĩnh vực.
  7. Chạy file được sinh: TypeScript dùng npx tsx scripts/seed.ts; SQL dùng npx wrangler d1 execute <TÊN_DB> --local --file=./scripts/seed.sql
  8. ⚠️ Script mặc định có thể DELETE dữ liệu cũ — luôn thử trên DB local/dev trước, đừng chạy trên production.