Giter VIP home page Giter VIP logo

rs-nodejs-express's Introduction

RS School REST service in docker

Как запустить приложение:

  1. Убедиться, что установлен и работает docker.

  2. Запустить из командной строки (из директории с файлом docker-compose.yml)

docker compose up
  1. При необходимости перезапустите приложение следующим образом: (в node 14 не всегда получается корректно запуститься, если файлы БД еще не созданы. Судя по всему, это проблема версии именно node 14+) (скорее всего, это не понадобится, так как реализован reconnect, но всё может быть)
docker compose restart

После появления файлов для БД проблема исчезает.

  1. При необходимости запустить тесты со своей машины, пожалуйста, установите зависимости с помощью одной из команд:
npm i
или
yarn

node_modules для запуска приложения установлены локально в докере. Для того чтобы сработали модули, запускающие тесты, их нужно поставить на самой машине

Особенности: для корректной работы с БД под Windows, убедитесь, пожалуйста, что Docker Desktop работает на основе движка WSL 2. Только в этом случае файлы БД будут корректно мэпиться на файлы в Windows. Иначе нормально запустить Postgres в докере не получится.

Docker Desktop Settings

Миграции

Исходный файл миграции находится в папке src/migrations. Он запускается в коде после подключения к БД через connection.runMigrations() (файл database/index.ts)

  • Для того чтобы сгенерировать файлы миграции
npm run db:generate
или
yarn db:generate
  • Для того чтобы запустить файлы миграции
npm run db:setup
или
yarn db:setup
  • Для того чтобы откатить миграции
npm run db:revert
 или
 yarn db:revert

rs-nodejs-express's People

Contributors

someqa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.