From 62a1da5e4b5b2b24d1480c628a0ee298f4c9cc12 Mon Sep 17 00:00:00 2001 From: Yuzu Date: Tue, 1 Oct 2024 19:10:05 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20Prisma=20instead=20of=20dri?= =?UTF-8?q?zzle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/backend/src/index.ts | 4 ++-- bun.lockb | Bin 59137 -> 43511 bytes package.json | 5 ++-- packages/db/package.json | 15 ++++++++---- packages/db/prisma/schema.prisma | 38 +++++++++++++++++++++++++++++++ packages/db/src/index.ts | 16 +++---------- packages/db/src/schema.ts | 13 ----------- turbo.json | 3 ++- 8 files changed, 58 insertions(+), 36 deletions(-) create mode 100644 packages/db/prisma/schema.prisma delete mode 100644 packages/db/src/schema.ts diff --git a/apps/backend/src/index.ts b/apps/backend/src/index.ts index 421ed29..b75b980 100644 --- a/apps/backend/src/index.ts +++ b/apps/backend/src/index.ts @@ -3,7 +3,7 @@ const dotenv = dotenvLoad(); import { Elysia } from "elysia"; import { swagger } from "@elysiajs/swagger"; -import { db } from "@minikura/db"; +import { prisma } from "@minikura/db"; const app = new Elysia() .use(swagger()) @@ -13,7 +13,7 @@ const app = new Elysia() .get("/hello", "Do you miss me?") .listen(3000, async () => { console.log("Server is running on port 3000"); - const result = await db.query.server.findMany(); + const result = await prisma.server.findMany(); console.log(result); }); diff --git a/bun.lockb b/bun.lockb index 6047e7faae1cc7a731c343a42d3b34b71f7d73c8..ce49c955fc862080c1d01f600d1f2a472921f2d1 100644 GIT binary patch delta 11208 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 diff --git a/package.json b/package.json index 08e5f41..c390153 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,9 @@ "lint:fix": "biome lint --apply .", "format": "biome format .", "format:fix": "biome format --write .", - "studio": "drizzle-kit studio", - "push": "drizzle-kit push" + "db:generate": "bun --filter @minikura/db generate", + "db:studio": "bun --filter @minikura/db studio", + "db:push": "bun --filter @minikura/db push" }, "devDependencies": { "@biomejs/biome": "^1.9.1", diff --git a/packages/db/package.json b/packages/db/package.json index 3b1aaac..482f227 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -3,16 +3,21 @@ "module": "src/index.ts", "type": "module", "exports": "./src/index.ts", + "scripts": { + "generate": "prisma generate", + "studio": "bun with-env prisma studio", + "push": "bun with-env prisma db push", + "with-env": "dotenv -e ../../.env --" + }, "devDependencies": { - "@types/bun": "latest", - "drizzle-kit": "^0.24.2" + "@types/bun": "latest" }, "peerDependencies": { "typescript": "^5.0.0" }, "dependencies": { - "dotenv": "^16.4.5", - "drizzle-orm": "^0.33.0", - "postgres": "^3.4.4" + "@prisma/client": "5.20.0", + "dotenv-cli": "^7.4.2", + "prisma": "^5.20.0" } } diff --git a/packages/db/prisma/schema.prisma b/packages/db/prisma/schema.prisma new file mode 100644 index 0000000..fde86e7 --- /dev/null +++ b/packages/db/prisma/schema.prisma @@ -0,0 +1,38 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions? +// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") +} + +enum ServerType { + STATEFUL + STATELESS + REVERSE_PROXY +} + +model Server { + id String @id @default(cuid()) + name String @unique + address String + port Int + type ServerType + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + +model User { + id String @id @default(cuid()) + username String @unique + password String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} \ No newline at end of file diff --git a/packages/db/src/index.ts b/packages/db/src/index.ts index 45400b3..1874de6 100644 --- a/packages/db/src/index.ts +++ b/packages/db/src/index.ts @@ -1,15 +1,5 @@ -import "dotenv/config"; -import { drizzle } from "drizzle-orm/postgres-js"; -import { migrate } from "drizzle-orm/postgres-js/migrator"; -import postgres from "postgres"; -import * as schema from "./schema"; +import { PrismaClient } from "@prisma/client"; -console.log(process.env.DATABASE_URL); +export * from "@prisma/client"; -// for migrations -const migrationClient = postgres(process.env.DATABASE_URL || "", { max: 1 }); -// migrate(drizzle(migrationClient), ...) - -// for query purposes -const queryClient = postgres(process.env.DATABASE_URL || ""); -export const db = drizzle(queryClient, { schema }); +export const prisma = new PrismaClient(); diff --git a/packages/db/src/schema.ts b/packages/db/src/schema.ts deleted file mode 100644 index cf72604..0000000 --- a/packages/db/src/schema.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { - serial, - text, - timestamp, - pgTable, - pgSchema, -} from "drizzle-orm/pg-core"; - -export const server = pgTable("server", { - id: serial("id"), - createdAt: timestamp("created_at"), - updatedAt: timestamp("updated_at"), -}); diff --git a/turbo.json b/turbo.json index 15a9068..6cfb29b 100644 --- a/turbo.json +++ b/turbo.json @@ -10,7 +10,8 @@ }, "dev": { "persistent": true, - "cache": false + "cache": false, + "env": ["DATABASE_URL"] } }, "ui": "tui",