💭

【NextJs + ElysiaJs】NexJs&ElysiaJs【#4 Drizzle & Neon Database】

に公開

【#4 Drizzle & Neon Database】
YouTube: https://youtu.be/bqPie8tItJ8
https://youtu.be/bqPie8tItJ8

今回はDrizzleORMとNeon Databaseの設定を行います。

https://orm.drizzle.team/docs/get-started/neon-new

https://neon.com/

npm i drizzle-orm@0.45.1 @neondatabase/serverless@1.0.2 dotenv@17.2.3
npm i -D drizzle-kit@0.31.8 tsx@4.21.0
.env
DATABASE_URL="postgresql://neondb_owner:xxxxxxxxxxxxxxxxxxxxxxxxxxxx...."
src/index.ts
import { drizzle } from "drizzle-orm/neon-http";

export const db = drizzle(process.env.DATABASE_URL!);
src/db/schema.ts
import { integer, pgTable, varchar } from "drizzle-orm/pg-core";

export const usersTable = pgTable("users", {
  id: integer().primaryKey().generatedAlwaysAsIdentity(),
  name: varchar({ length: 255 }).notNull(),
  age: integer().notNull(),
  email: varchar({ length: 255 }).notNull().unique(),
});
drizzle.config.ts
import "dotenv/config";
import { defineConfig } from "drizzle-kit";

export default defineConfig({
  out: "./drizzle",
  schema: "./src/db/schema.ts",
  dialect: "postgresql",
  dbCredentials: {
    url: process.env.DATABASE_URL!,
  },
});

Discussion