보조기억장치

Drizzle ORM with NeonDB 본문

IT

Drizzle ORM with NeonDB

캐세이 2023. 10. 15. 23:46

Install

npm i drizzle-orm @neondatabase/serverless
npm i -D drizzle-kit

npm i pg

 

PostgreSQL(lib/db/index.ts) 연결

import { neon, neonConfig } from '@neondatabase/serverless';
import { drizzle } from 'drizzle-orm/neon-http';
 
neonConfig.fetchConnectionCache = true;
 
const sql = neon(process.env.DRIZZLE_DATABASE_URL!);
const db = drizzle(sql);
 
const result = await db.select().from(...);

 

스키마 (lib/db/schema.ts)

import { pgTable, serial, text, timestamp } from "drizzle-orm/pg-core";

export const $notes = pgTable("notes", {
  id: serial("id").primaryKey(),
  name: text("name").notNull(),
  createdAt: timestamp("created_at").notNull().defaultNow(),
  imageUrl: text("imageUrl"),
  userId: text("user_id").notNull(),
  editorState: text("editor_state"),
});

export type NoteType = typeof $notes.$inferInsert;

// drizzle-orm
// drizzle-kit

--

npx drizzle-kit push:pg

npx drizzle-kit studio