A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Corriendo migraciones de Postgres en Heroku

21/22
Recursos

Aportes 4

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

module.exports = {
  type: 'postgres',
  url: process.env.DATABASE_URL,
  synchronize: false,
  logging: false,
  migrations: ['src/database/migrations/*.ts'],
  migrationsTableName: 'migrations',
  entities: ['src/**/*.entity.ts'],
  cli: {
    migrationsDir: 'src/database/migrations',
  },
  ssl: {
    rejectUnauthorized: false,
  },
};

Hola 馃憢

Acomp谩帽ame a resolver los bugs del c贸digo, estos se presentan por alg煤n cambio ya sea en la manera en que funciona nest o typeorm desde cuando se grab贸 el curso.

Arreglar el database.module

  • En el return de la conexi贸n a la base de datos si o s铆, debemos definir la opci贸n entities.
return {
  entities: ['dist/**/*.entity{.ts,.js}'], // 馃憟
  ssl,
  type: 'postgres',
  url: configService.postgresURL,
};
  • Debemos condicionar el SSL, seg煤n estemos en producci贸n (Heroku) o desarrollo (local).聽En mi caso he sacado esta l贸gica en una funci贸n aparte para reutilizarla en la conexi贸n con pg
// src/common/helpers/get-ssl.ts
type SslOptions = boolean | { rejectUnauthorized: boolean };

export const getSsl = (): SslOptions => {
  // DYNO es una variable de entorno 煤nica de Heroku
  return process.env.DYNO ? { rejectUnauthorized: false } : false;
};
const ssl = getSsl();

return {
  entities: ['dist/**/*.entity{.ts,.js}'],
  ssl,
  type: 'postgres',
  url: configService.postgresURL,
};
  • Conexi贸n con pg
const ssl = getSsl();

const client = new Client({
  connectionString: configService.postgresURL,
  ssl,
});

Espero haberles ayudado 馃殌

https://typeorm.io/#/connection-options

# Connection options example
Here is a small example of connection options for mysql:

{
    host: "localhost",
    port: 3306,
    username: "test",
    password: "test",
    database: "test",
    logging: true,
    synchronize: true,
    entities: [
        "entity/*.js"
    ],
    subscribers: [
        "subscriber/*.js"
    ],
    entitySchemas: [
        "schema/*.json"
    ],
    migrations: [
        "migration/*.js"
    ],
    cli: {
        entitiesDir: "entity",
        migrationsDir: "migration",
        subscribersDir: "subscriber"
    }
}

馃憦