У цьому посібнику ми пройдемо через налаштування 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)