Connection "default" was not found with TypeORM

ValentinV picture ValentinV · Apr 12, 2018 · Viewed 25.2k times · Source

I use TypeORM with NestJS and I am not able to save properly an entity.

The connection creation works, postgres is running on 5432 port. Credentials are OK too.

However when I need to save a resource with entity.save() I got :

Connection "default" was not found.


Error
    at new ConnectionNotFoundError (/.../ConnectionNotFoundError.ts:11:22)

I checked the source file of TypeORM ConnectionManager (https://github.com/typeorm/typeorm/blob/master/src/connection/ConnectionManager.ts) but it seems that the first time TypeORM creates connection it attributes "default" name if we don't provide one, which is the case for me.

I setup TypeORM with TypeOrmModule as

TypeOrmModule.forRoot({
      type: config.db.type,
      host: config.db.host,
      port: config.db.port,
      username: config.db.user,
      password: config.db.password,
      database: config.db.database,
      entities: [
        __dirname + '/../../dtos/entities/*.entity.js',
      ]
    })

Of course my constants are correct. Any ideas ?

Answer

Saras Arya picture Saras Arya · May 26, 2018

You are trying to create a repository or manager without the connection being established.

Try doing this const shopkeeperRepository = getRepository(Shopkeeper); inside a function. it will work