← スキル一覧に戻る

drizzle-migrations
by dvorkinguy
Claude Code skills, agents, commands, MCP configs, plugins, and settings
⭐ 0🍴 0📅 2025年12月17日
SKILL.md
name: drizzle-migrations description: Drizzle ORM migrations for Neon PostgreSQL. Use when creating database schemas, running migrations, or troubleshooting Drizzle issues.
Drizzle ORM Migrations
Setup
drizzle.config.ts
import { defineConfig } from 'drizzle-kit';
export default defineConfig({
schema: './src/db/schema.ts',
out: './drizzle',
dialect: 'postgresql',
dbCredentials: {
url: process.env.DATABASE_URL!,
},
});
Connection (Neon Serverless)
// src/db/index.ts
import { drizzle } from 'drizzle-orm/neon-http';
import { neon } from '@neondatabase/serverless';
import * as schema from './schema';
const sql = neon(process.env.DATABASE_URL!);
export const db = drizzle(sql, { schema });
Schema Patterns
Standard Table with Timestamps
import { pgTable, text, timestamp, uuid, boolean } from 'drizzle-orm/pg-core';
const timestamps = {
createdAt: timestamp('created_at').defaultNow().notNull(),
updatedAt: timestamp('updated_at').defaultNow().notNull(),
};
export const projects = pgTable('projects', {
id: uuid('id').primaryKey().defaultRandom(),
name: text('name').notNull(),
userId: uuid('user_id').notNull().references(() => users.id),
isActive: boolean('is_active').default(true).notNull(),
...timestamps,
});
Type Inference
export type Project = typeof projects.$inferSelect;
export type NewProject = typeof projects.$inferInsert;
Relations
import { relations } from 'drizzle-orm';
export const usersRelations = relations(users, ({ many }) => ({
projects: many(projects),
}));
export const projectsRelations = relations(projects, ({ one }) => ({
owner: one(users, {
fields: [projects.userId],
references: [users.id],
}),
}));
Migration Commands
# Generate migration from schema changes
pnpm drizzle-kit generate
# Push schema directly (dev only, no migration file)
pnpm drizzle-kit push
# Apply migrations (production)
pnpm drizzle-kit migrate
# Open Drizzle Studio GUI
pnpm drizzle-kit studio
Workflow
- Modify schema.ts
- Generate migration:
pnpm drizzle-kit generate - Review SQL: Check
drizzle/folder - Apply:
- Dev:
pnpm drizzle-kit push - Prod:
pnpm drizzle-kit migrate
- Dev:
- Update types: Types auto-update from schema
Common Issues
"relation does not exist"
- Migration not applied
- Run:
pnpm drizzle-kit push(dev) ormigrate(prod)
"column X does not exist"
- Schema out of sync
- Generate new migration and apply
Type errors after schema change
- Restart TypeScript server
- Run:
pnpm typecheck
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です