import { MigrationInterface, QueryRunner } from 'typeorm'; import { DataSource } from '../src/entities/data_source.entity'; export class TurnOnSSLForEveryPostgresDataSource1630003364070 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise { const entityManager = queryRunner.manager; const queryBuilder = queryRunner.connection.createQueryBuilder(); const dataSourceRepository = entityManager.getRepository(DataSource); const dataSources = await dataSourceRepository.find({ where: { kind: 'postgresql' }, select: ['id', 'options'], }); for (const dataSource of dataSources) { const options = dataSource.options; if (options) { options['ssl_enabled'] = { value: true, encrypted: false }; await queryBuilder.update(DataSource).set({ options }).where('id = :id', { id: dataSource.id }).execute(); } } } public async down(queryRunner: QueryRunner): Promise {} }