Skip to main content

Prisma

  • Prisma

  • Para instalar

    • npm i -D prisma
  • Para iniciar

    • npx prisma init
  • Depois de criar o schema, para criar as collection

    • npx prisma db push
  • Usado para gerar o cliente Prisma com base no seu arquivo de esquema Prisma.

    • npx prisma generate
generator client {
provider = "prisma-client-js"
}

datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}

enum StatusSuggestion {
pending
analyzing
approved
denied
}

enum PositionEmployee {
manager
vendor
}

enum ModuleSuggestion {
sales
finance
stock
}

model User {
id String @id @default(auto()) @map("_id") @db.ObjectId
name String?
email String? @unique
role PositionEmployee @default(vendor)
cnpj String
emailVerified DateTime?
hashedPassword String?
active Boolean @default(false)
activeByAdmin Boolean @default(false)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt

activateToken ActivateToken[]
suggestion Suggestion[]
}

model ActivateToken {
id String @id @default(auto()) @map("_id") @db.ObjectId
token String @unique
activatedAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id])
userId String @db.ObjectId
}

model Suggestion {
id String @id @default(auto()) @map("_id") @db.ObjectId
title String
path ModuleSuggestion @default(finance)
description String
status StatusSuggestion @default(pending)
user User @relation(fields: [userId], references: [id])
userId String @db.ObjectId
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}