Этот проект представляет собой шаблон для создания веб-приложений с использованием Express.js, TypeScript, Prisma и Docker. Он идеально подходит для разработки и тестирования серверных приложений в контейнерах.
- Express.js: Веб-фреймворк для Node.js 🚀.
- TypeScript: Статическая типизация для JavaScript 🔍.
- Prisma: ORM для работы с базой данных 🗄️.
- Docker & Docker Compose: Контейнеризация и управление многоконтейнерными приложениями 🐳.
- 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 эти скриптики делают почти всю работу за вас. Если вдруг у вас нет миграций и вы запускаете базу в первый раз, то создаст вам инит миграцию.
Если случилось так, что вам нужно внести изменения в уже существующию базу то:
- Запускаем докер и после того, как все успешно запустилось меняем что-то в schema.prisms и сохраняем ВАЖНО если изменения касаются не пустых таблиц, то нужно осторожно к этому подходить
- Запускаем ./create_migration {название_миграции} в терминале
- После этого, если у призмы нет будет конфиликтов, то будет сообщение о успешном создании.
- Остается проверить используя
docker exec -it db psql -U postgres -d postgres
пс. можно по разному оптимизировать эти процессы, но я увидел это именно так