Налаштування Prisma з PostgreSQL за допомогою Docker

pic

У цьому посібнику ми пройдемо через налаштування Prisma з базою даних PostgreSQL за допомогою Docker. Це налаштування ідеально підходить для розробників, які хочуть швидко та ефективно інтегрувати Prisma у свої проекти.

Крок 1: Налаштування PostgreSQL за допомогою Docker

  • --name my_postgres: Призначає контейнеру ім'я my_postgres.
  • -e POSTGRES_PASSWORD=mysecretpassword: Встановлює пароль для користувача postgres.
  • -p 5432:5432: Прив’язує порт 5432 на хості до порту 5432 на контейнері.
  • -d postgres: Запускає контейнер у відокремленому режимі, використовуючи офіційний образ PostgreSQL.
docker run --name my_postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres
DATABASE_URL="postgresql://postgres:mysecretpassword@localhost:5432/postgres"

Крок 2: Встановлення Prisma

Встановіть Prisma CLI та Prisma Client за допомогою npm:

npm i prisma @prisma/client

Ініціалізуйте Prisma у вашому проєкті, виконавши:

npx prisma init

Крок 3: Налаштування з'єднання з базою даних

DATABASE_URL="postgresql://postgres:mysecretpassword@localhost:5432/postgres"

Крок 4: Визначення схеми вашої бази даних

Відкрийте файл prisma/schema.prisma і визначте схему вашої бази даних. Наприклад:

model User {  
 id Int @id @default(autoincrement())  
 name String  
 email String @unique  
 createdAt DateTime @default(now())  
}

Крок 5: Запуск міграцій Prisma

Виконайте наступну команду, щоб створити початкову міграцію та застосувати її до вашої бази даних:

npx prisma migrate --name init

Згенеруйте Prisma Client для використання у вашому коді:

npx prisma generate

Крок 6: Тестування налаштувань

Щоб переконатися, що все працює, створіть простий скрипт для тестування з'єднання. Наприклад, у файлі index.js:

const { PrismaClient } = require('@prisma/client');  

const prisma = new PrismaClient();  

async function main() {  
 const user = await prisma.user.create({  
 data: {  
 name: 'Lokendra Kushwah',  
 email: '[email protected]',  
 },  
 });  

 console.log(user);  
}  

main()  
 .catch((e) => console.error(e))  
 .finally(async () => await prisma.$disconnect());
npx prisma studio




Перекладено з: [Setting Up Prisma with PostgreSQL Using Docker](https://lokendrakushwah.medium.com/setting-up-prisma-with-postgresql-using-docker-056e63a312ee)

Leave a Reply

Your email address will not be published. Required fields are marked *