mirror of
https://github.com/ArthurDanjou/website.git
synced 2026-01-28 19:00:31 +01:00
Fixing all erros
This commit is contained in:
@@ -0,0 +1,90 @@
|
|||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Maintenance" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"reason" TEXT NOT NULL,
|
||||||
|
"beginAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"endAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "Maintenance_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Announcement" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"content" TEXT NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "Announcement_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Category" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"slug" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "Category_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Talent" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"logo" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"website" TEXT NOT NULL,
|
||||||
|
"work" TEXT NOT NULL,
|
||||||
|
"favorite" BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
|
||||||
|
CONSTRAINT "Talent_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "CategoriesOnTalents" (
|
||||||
|
"talentId" INTEGER NOT NULL,
|
||||||
|
"categoryId" INTEGER NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "CategoriesOnTalents_pkey" PRIMARY KEY ("talentId","categoryId")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Post" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"slug" TEXT NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"views" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"likes" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
|
||||||
|
CONSTRAINT "Post_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Form" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"email" TEXT NOT NULL,
|
||||||
|
"content" TEXT NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "Form_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "Talent_name_key" ON "Talent"("name");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "CategoriesOnTalents_talentId_idx" ON "CategoriesOnTalents"("talentId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "CategoriesOnTalents_categoryId_idx" ON "CategoriesOnTalents"("categoryId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "Post_slug_key" ON "Post"("slug");
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "CategoriesOnTalents" ADD CONSTRAINT "CategoriesOnTalents_talentId_fkey" FOREIGN KEY ("talentId") REFERENCES "Talent"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "CategoriesOnTalents" ADD CONSTRAINT "CategoriesOnTalents_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "Category"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||||
3
prisma/migrations/migration_lock.toml
Normal file
3
prisma/migrations/migration_lock.toml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Please do not edit this file manually
|
||||||
|
# It should be added in your version-control system (i.e. Git)
|
||||||
|
provider = "postgresql"
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
generator client {
|
generator client {
|
||||||
provider = "prisma-client-js"
|
provider = "prisma-client-js"
|
||||||
previewFeatures = ["postgresqlExtensions"]
|
previewFeatures = ["postgresqlExtensions"]
|
||||||
}
|
}
|
||||||
|
|
||||||
datasource db {
|
datasource db {
|
||||||
provider = "postgresql"
|
provider = "postgresql"
|
||||||
url = env("POSTGRES_PRISMA_URL") // uses connection pooling
|
url = env("POSTGRES_PRISMA_URL")
|
||||||
directUrl = env("POSTGRES_URL_NON_POOLING") // uses a direct connection
|
directUrl = env("POSTGRES_URL_NON_POOLING")
|
||||||
}
|
}
|
||||||
|
|
||||||
model Maintenance {
|
model Maintenance {
|
||||||
@@ -43,10 +43,10 @@ model Talent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model CategoriesOnTalents {
|
model CategoriesOnTalents {
|
||||||
talent Talent @relation(fields: [talentId], references: [id])
|
|
||||||
talentId Int
|
talentId Int
|
||||||
category Category @relation(fields: [categoryId], references: [id])
|
|
||||||
categoryId Int
|
categoryId Int
|
||||||
|
category Category @relation(fields: [categoryId], references: [id])
|
||||||
|
talent Talent @relation(fields: [talentId], references: [id])
|
||||||
|
|
||||||
@@id([talentId, categoryId])
|
@@id([talentId, categoryId])
|
||||||
@@index([talentId])
|
@@index([talentId])
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
:::
|
:::
|
||||||
|
|
||||||
:::grid-slot{title="BackEnd"}
|
:::grid-slot{title="BackEnd"}
|
||||||
Prisma, AdonisJs, Supabase, TRPC.io
|
Prisma, AdonisJs, Supabase, TRPC.io, Vercel
|
||||||
:::
|
:::
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
import process from 'node:process'
|
|
||||||
import { PrismaClient } from '@prisma/client/edge'
|
|
||||||
|
|
||||||
const globalForPrisma = globalThis as unknown as { prisma: PrismaClient }
|
|
||||||
|
|
||||||
export const prisma = globalForPrisma.prisma
|
|
||||||
|| new PrismaClient({
|
|
||||||
log: process.env.NODE_ENV === 'development' ? ['query', 'error', 'warn'] : ['error'],
|
|
||||||
})
|
|
||||||
|
|
||||||
if (process.env.NODE_ENV !== 'production')
|
|
||||||
globalForPrisma.prisma = prisma
|
|
||||||
@@ -1,8 +1,16 @@
|
|||||||
import type { inferAsyncReturnType } from '@trpc/server'
|
import type { inferAsyncReturnType } from '@trpc/server'
|
||||||
import type { H3Event } from 'h3'
|
import type { H3Event } from 'h3'
|
||||||
import { prisma } from '../prisma'
|
import { PrismaClient } from '@prisma/client'
|
||||||
|
|
||||||
|
let prisma: PrismaClient | undefined
|
||||||
|
|
||||||
export function createContext(_event: H3Event) {
|
export function createContext(_event: H3Event) {
|
||||||
|
if (!prisma) {
|
||||||
|
prisma = new PrismaClient({
|
||||||
|
log: process.env.NODE_ENV === 'development' ? ['query', 'error', 'warn'] : ['error'],
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
prisma,
|
prisma,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user