Goal
ใช้ Drizzle ORM สำหรับ TypeScript database operations ด้วย type safety และ SQL-like API
Scope
ใช้สำหรับ database operations ด้วย Drizzle ORM บน PostgreSQL, MySQL, และ SQLite
Execute
- ติดตั้ง Drizzle ORM ด้วย
bun add drizzle-orm - ติดตั้ง Drizzle Kit ด้วย
bun add -D drizzle-kit - ติดตั้ง database driver ตามที่ต้องการ
- อ่าน
guide/installation.mdสำหรับการติดตั้งและ setup - อ่าน
guide/quick-start.mdสำหรับเริ่มต้นใช้งาน - อ่าน
guide/key-concept.mdสำหรับแนวคิดหลัก - อ่าน
guide/how-it-works.mdสำหรับวิธีการทำงาน - อ่าน
key-concepts/schema-definition.mdสำหรับ schema definitions - อ่าน
key-concepts/query-builder.mdสำหรับ query builder - อ่าน
key-concepts/migrations.mdสำหรับ migrations - อ่าน
key-concepts/relations.mdสำหรับ relations - อ่าน
guide/configuration.mdสำหรับ drizzle.config.ts setup - อ่าน
references/configuration.mdสำหรับ configuration reference - ตั้งค่า database credentials และ environment
- อ่าน
guide/features.mdสำหรับ features ที่มี - อ่าน
guide/patterns.mdสำหรับ patterns ทั่วไป - ใช้ schema definitions ตาม best practices
- อ่าน
references/cli.mdสำหรับ Drizzle Kit CLI - ใช้
drizzle-kit generateสำหรับ generate migrations - ใช้
drizzle-kit pushสำหรับ push schema changes - อ่าน
references/api.mdสำหรับ API documentation - อ่าน
guide/best-practices.mdสำหรับ best practices - ใช้ query builder สำหรับ database operations
- อ่าน
guide/integration.mdสำหรับ framework integration - อ่าน
guide/architecture.mdสำหรับ system architecture - อ่าน
guide/structure.mdสำหรับ project structure - อ่าน
guide/troubleshooting.mdสำหรับปัญหาทั่วไป - อ่าน
principles/type-safety.mdสำหรับ type safety - อ่าน
principles/sql-like-syntax.mdสำหรับ SQL-like syntax - อ่าน
guide/drizzle-seed.mdสำหรับ test data generation - อ่าน
guide/schema-validation.mdสำหรับ schema validation ด้วย Zod/Valibot/TypeBox/ArkType - อ่าน
guide/drizzle-studio.mdสำหรับ GUI database management - อ่าน
guide/advanced-sql.mdสำหรับ CTE, set operators, aggregate functions - อ่าน
guide/serverless-edge.mdสำหรับ serverless และ edge runtime support - อ่าน
guide/eslint-plugin.mdสำหรับ ESLint plugin และ lint rules - อ่าน
guide/query-caching.mdสำหรับ query caching - อ่าน
guide/read-replicas.mdสำหรับ read replicas - อ่าน
guide/database-specific-features.mdสำหรับ database-specific features - อ่าน
guide/testing-infrastructure.mdสำหรับ testing infrastructure
Rules
- ใช้
bun add drizzle-ormสำหรับ core library - ใช้
bun add -D drizzle-kitสำหรับ dev tools - ติดตั้ง database driver ตามที่ต้องการ
- ใช้ backticks สำหรับ
db.select(),db.insert(), commands - ใช้ code blocks สำหรับ schema examples
- ใช้ ansi markdown diagrams สำหรับ flow และ architecture
- ใช้ TypeScript types จาก schema definitions เสมอ
- หลีกเลี่ยง type assertions ที่ไม่จำเป็น
- ใช้ Zod integration สำหรับ validation
- ใช้ indexes สำหรับ frequently queried columns
- ใช้ transactions สำหรับ multiple operations
- หลีกเลี่ยง N+1 queries ด้วย proper relations
Expected Outcome
- Database operations ที่ type-safe
- Schema definitions ที่ maintainable
- Migrations ที่ version-controlled
- Query performance ที่ optimized