Введение в миграции в Nest
Пусть таблицу собрали вручную при первом запуске на одной машине, а на другой с тем же кодом база осталась пустой или с другими полями. Приложение ведёт себя по-разному, хотя исходники совпадают.
Миграция - файл с шагом изменения схемы: что добавить, переименовать или убрать в PostgreSQL. Шаг записывают один раз, кладут в репозиторий и применяют на каждой среде в том же порядке. Так схема повторяет код, а не память разработчика.
В разделе TypeORM работает
с PostgreSQL и ESM. Автосинхронизация
при старте приложения выключена:
synchronize всегда false,
таблицы и колонки появляются
только из файлов миграций.
Пройдём создание пустого шага,
применение и откат, правку таблицы
и колонок, а также генерацию
по сущностям.
Команды CLI запускают из корня проекта после сборки: настройки и пути к классам берутся из папки собранного JavaScript. Источник данных для CLI лежит отдельно от модуля Nest, но указывает на ту же базу.