🙄
【tRPC】NextJs & tRPC 【#7 tRPC Database Setup】
【#7 tRPC Database Setup】
YouTube: https://youtu.be/Ve1fvYz8fo0
今回は「Neon」と「Drizzle」を使用して、
アプリでデータベースを使用できるように実装を進めていきます。
npm i drizzle-orm @neondatabase/serverless dotenv --legacy-peer-deps
npm i -D drizzle-kit tsx --legacy-peer-deps
.env.local
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_bGVu......................
CLERK_SECRET_KEY=sk_test_vd.............................
DATABASE_URL=postgresql://neondb_owne..............................
src/db/index.ts
import { drizzle } from 'drizzle-orm/neon-http'
export const db = drizzle(process.env.DATABASE_URL!)
src/db/schema.ts
import { pgTable, text, timestamp, uuid } from 'drizzle-orm/pg-core'
export const posts = pgTable('posts', {
id: uuid('id').primaryKey().defaultRandom(),
title: text('title').notNull(),
userId: text('user_id').notNull(),
createdAt: timestamp('created_at').defaultNow().notNull(),
updatedAt: timestamp('updated_at').defaultNow().notNull(),
})
drizzle.config.ts
import dotenv from 'dotenv'
import { defineConfig } from 'drizzle-kit'
dotenv.config({ path: '.env.local' })
export default defineConfig({
out: './drizzle',
schema: './src/db/schema.ts',
dialect: 'postgresql',
dbCredentials: {
url: process.env.DATABASE_URL!,
},
})
ここまでできましたら、
以下のコマンドを実行して、
データベースに反映します。
npx drizzle-kit push
Discussion