РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsPmMgRV 154 of 168 menu
◀ ▶

Откат миграции в Nest

Пусть недавний шаг схемы оказался лишним или его нужно проверить заново на чистой базе. Удалять таблицы руками в консоли PostgreSQL легко забыть связанный журнал миграций.

CLI TypeORM умеет откатывать только последний записанный шаг: из журнала снимают последнюю запись и вызывают обратный метод того же класса. Так база и список выполненных файлов снова согласованы. Команду, как и выполнение, запускают из корня после сборки с тем же источником данных.

Покажем на примере постов:

import { DataSource } from 'typeorm'; export default new DataSource({ type: 'postgres', host: 'localhost', port: 5432, username: 'postgres', password: 'postgres', database: 'site', synchronize: false, entities: ['dist/**/*.entity.js'], migrations: ['dist/migrations/*.js'], });

Обратный метод в файле шага должен отменять прямой. Для пустой заготовки оба метода могут оставаться без кода:

import { MigrationInterface, QueryRunner } from 'typeorm'; export class CreatePosts1730000000000 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise<void> { } public async down(queryRunner: QueryRunner): Promise<void> { } }

Откат последнего шага из корня проекта после сборки:

npx typeorm migration:revert -d dist/data-source.js

Отмените последний применённый шаг схемы в проекте работников, опираясь на тот же источник данных, что и при выполнении.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить