diff --git a/drizzle.config.ts b/drizzle.config.ts new file mode 100644 index 0000000..c403c56 --- /dev/null +++ b/drizzle.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from "drizzle-kit" + +export default defineConfig({ + schema: "./lib/db/schema/", + out: "./drizzle/", + dialect: "postgresql", + dbCredentials: { + url: process.env.DATABASE_URL!, + }, +}) diff --git a/lib/db/index.ts b/lib/db/index.ts new file mode 100644 index 0000000..400109f --- /dev/null +++ b/lib/db/index.ts @@ -0,0 +1,9 @@ +import { drizzle } from "drizzle-orm/node-postgres" +import { Pool } from "pg" +import * as schema from "./schema" + +const pool = new Pool({ + connectionString: process.env.DATABASE_URL, +}) + +export const db = drizzle(pool, { schema }) diff --git a/package.json b/package.json index e0a22f9..3cb74e4 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,15 @@ "dev": "next dev --experimental-https", "build": "next build", "start": "next start", - "lint": "eslint" + "lint": "eslint", + "db:generate": "drizzle-kit generate", + "db:migrate": "drizzle-kit migrate", + "db:studio": "drizzle-kit studio", + "db:push": "drizzle-kit push" }, "dependencies": { "@aws-sdk/client-s3": "^3.1036.0", + "@better-auth/drizzle-adapter": "^1.6.9", "@elysia/eden": "^1.4.10", "@tiptap/core": "^3.22.4", "@tiptap/pm": "^3.22.4", @@ -18,6 +23,7 @@ "better-auth": "^1.6.9", "dotenv": "^17.4.2", "drizzle-orm": "^0.45.2", + "echarts": "^6.0.0", "elysia": "^1.4.28", "lucide-react": "^1.11.0", "motion": "^12.38.0",