Skip to content

Commit d9ee922

Browse files
author
kxyne
committed
implement drizzle conf and split out schema
1 parent 6c5ca25 commit d9ee922

File tree

5 files changed

+21
-8
lines changed

5 files changed

+21
-8
lines changed

app/db.ts

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
11
import { drizzle } from 'drizzle-orm/postgres-js';
2-
import { pgTable, serial, varchar } from 'drizzle-orm/pg-core';
32
import { eq } from 'drizzle-orm';
43
import postgres from 'postgres';
54
import { genSaltSync, hashSync } from 'bcrypt-ts';
5+
import { users } from './schema';
66

77
// Optionally, if not using email/pass login, you can
88
// use the Drizzle adapter for Auth.js / NextAuth
99
// https://authjs.dev/reference/adapter/drizzle
10-
let client = postgres(`${process.env.POSTGRES_URL!}?sslmode=require`);
10+
let client = postgres(`${process.env.POSTGRES_URL!}`);
1111
let db = drizzle(client);
1212

13-
let users = pgTable('User', {
14-
id: serial('id').primaryKey(),
15-
email: varchar('email', { length: 64 }),
16-
password: varchar('password', { length: 64 }),
17-
});
1813

1914
export async function getUser(email: string) {
2015
return await db.select().from(users).where(eq(users.email, email));

app/schema.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { pgTable, serial, varchar } from 'drizzle-orm/pg-core';
2+
3+
export const users = pgTable('User', {
4+
id: serial('id').primaryKey(),
5+
email: varchar('email', { length: 64 }),
6+
password: varchar('password', { length: 64 }),
7+
});

drizzle.config.ts

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { defineConfig } from 'drizzle-kit';
2+
3+
export default defineConfig({
4+
schema: './app/schema.ts',
5+
out: './drizzle',
6+
dialect: 'postgresql',
7+
dbCredentials: {
8+
url: process.env.POSTGRES_URL!
9+
}
10+
});

package.json

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"scripts": {
44
"dev": "next dev --turbo",
55
"build": "next build",
6+
"generate": "drizzle-kit generate:pg --out drizzle --schema app/db/schema.ts",
67
"start": "next start",
78
"lint": "next lint"
89
},
@@ -21,6 +22,7 @@
2122
},
2223
"devDependencies": {
2324
"autoprefixer": "^10.4.16",
25+
"drizzle-kit": "^0.21.4",
2426
"eslint": "8.56.0",
2527
"eslint-config-next": "^14.0.4",
2628
"postcss": "^8.4.32",

tsconfig.json

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"compilerOptions": {
3-
"target": "es5",
43
"lib": ["dom", "dom.iterable", "esnext"],
54
"allowJs": true,
65
"skipLibCheck": true,

0 commit comments

Comments
 (0)