Configurando local
Adicionar o prisma CLI (Command Line Interface) ao projeto como dependência de desenvolvimento:
yarn add -D prisma
Então inicializar o prisma:
yarn prisma init --datasource-provider postgresql
Adicione .env
ao .gitignore
Integrando com banco de dados externo (e.g. do rails):
Adicionar ao arquivo .env.example
(criá-lo caso não exista) o seguinte conteúdo:
# Variáveis de ambiente para o prisma:
DATABASE_URL="postgresql://user:password@localhost:5432/<database>"
# DATABASE_URL="postgresql://<db_user>:<db_password>@localhost:5432/<db_name>?schema=public"
Substitua acima o <db_name> pelo nome do banco de dados. O rails por padrão pega o nome do projeto e coloca adiciona um pósfixo _development
. Então, se o nome do projeto for projeto-api
, o banco de dados de desenvolvimento será Projeto_api_development
, e o arquivo ficaria assim:
DATABASE_URL="postgresql://<user>:<password>@localhost:5432/Projeto_api_development"
A url de conexão com o banco de dados tem o seguinte padrão, caso seja necessário mudar alguma parte:
postgresql://<user>:<password>@<host>:<port>/<database>?schema=<schema>
Criando o client do prisma:
Adicionar isso, adicionar aos script em package.json
:
"scripts": {
// ...scripts anteriores
"prisma:update": "yarn prisma db pull && yarn prisma generate",
},
Então, na pasta prisma
, criar um arquivo chamado client.js, com o seguinte conteúdo:
import { PrismaClient } from "@prisma/client";
// Permite que BigInt seja serializável para JSON, e funcione corretamente
// caso existam tais campos no banco de dados
// O rails por padrão usa BigInt para os ids
BigInt.prototype.toJSON = function () {
return this.toString();
};
export const prisma = new PrismaClient({
log: ['query', 'info', 'warn', 'error'],
});
Last updated
Was this helpful?