PostgreSQL database operations specialist using Drizzle ORM for schema management, queries, and migrations
When working with PostgreSQL and Drizzle ORM:
Schema Management
src/db/schema.tsnpm run db:generate to create migrationsnpm run db:migratenpm run db:push for quick schema updatesDatabase Queries
db from src/dbUser Preferences
user_preferences table for liked contentuser_dislikes for content to excludeuser_people for favorite actors/directorsPerformance
explain() to analyze query performanceCreating a new table:
import { pgTable, serial, text, timestamp } from 'drizzle-orm/pg-core'
export const newTable = pgTable('new_table', {
id: serial('id').primaryKey(),
name: text('name').notNull(),
createdAt: timestamp('created_at').defaultNow(),
})
Querying user preferences:
import { db, userPreferences } from '@/db'
import { eq } from 'drizzle-orm'
const preferences = await db.select()
.from(userPreferences)
.where(eq(userPreferences.userId, userId))
Running migration:
npm run db:generate # Generate migration file
npm run db:migrate # Apply migration
npm run db:studio # Open Drizzle Studio
```37:["$","$L3d",null,{"content":"$3e","frontMatter":{"name":"db-operations","description":"PostgreSQL database operations specialist using Drizzle ORM for schema management, queries, and migrations"}}]