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

Колонка в миграции в Nest

Пусть таблица уже есть, а в сущности появилось новое поле. Пересоздавать всю таблицу опасно: пропадут строки. Нужен отдельный шаг только для новой колонки.

Прямой метод миграции вызывает addColumn: указывают имя таблицы и объект TableColumn с типом. Обратный метод убирает колонку тем же API, чтобы откат совпал с прямым шагом.

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

import { MigrationInterface, QueryRunner, TableColumn } from 'typeorm'; export class AddPostText1730000001000 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise<void> { await queryRunner.addColumn( 'post', new TableColumn({ name: 'text', type: 'varchar', }), ); } public async down(queryRunner: QueryRunner): Promise<void> { await queryRunner.dropColumn('post', 'text'); } }

Источник данных по-прежнему держит автосинхронизацию выключенной:

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'], });

Добавьте колонку должности к таблице работников в AddWorkerPosition и уберите её в обратном методе.

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