Skip to content

june6x/express-prisma

Repository files navigation

Express.js + TypeScript + Prisma + Docker 🐳🚀

Этот проект представляет собой шаблон для создания веб-приложений с использованием Express.js, TypeScript, Prisma и Docker. Он идеально подходит для разработки и тестирования серверных приложений в контейнерах.

Структура проекта

  • Express.js: Веб-фреймворк для Node.js 🚀.
  • TypeScript: Статическая типизация для JavaScript 🔍.
  • Prisma: ORM для работы с базой данных 🗄️.
  • Docker & Docker Compose: Контейнеризация и управление многоконтейнерными приложениями 🐳.

Требования для запуска 🛠️

Запуск

docker compose build
docker compose up -d

-d - запуск в фоне без логов

Екстра

Команда для того, чтобы попасть в бд контейнер

docker exec -it db psql -U postgres -d postgres

Попасть в бэк контейнер:

docker exec -it backend sh

Как работают миграции

Внутри уже лежит init_migration.sh,create_migration.sh эти скриптики делают почти всю работу за вас. Если вдруг у вас нет миграций и вы запускаете базу в первый раз, то создаст вам инит миграцию.

Если случилось так, что вам нужно внести изменения в уже существующию базу то:

  1. Запускаем докер и после того, как все успешно запустилось меняем что-то в schema.prisms и сохраняем ВАЖНО если изменения касаются не пустых таблиц, то нужно осторожно к этому подходить
  2. Запускаем ./create_migration {название_миграции} в терминале
  3. После этого, если у призмы нет будет конфиликтов, то будет сообщение о успешном создании.
  4. Остается проверить используя
    docker exec -it db psql -U postgres -d postgres
    

пс. можно по разному оптимизировать эти процессы, но я увидел это именно так

About

Express project with prisma and docker.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published