Val*_*inV 9 postgresql node.js typeorm nestjs
我使用TypeJ和NestJS,我无法正确保存实体.
连接创建工作,postgres在5432端口上运行.凭证也可以.
但是,当我需要使用entity.save()保存资源时,我得到了:
Connection "default" was not found.
Error
at new ConnectionNotFoundError (/.../ConnectionNotFoundError.ts:11:22)
Run Code Online (Sandbox Code Playgroud)
我检查了TypeORM ConnectionManager的源文件(https://github.com/typeorm/typeorm/blob/master/src/connection/ConnectionManager.ts),但似乎TypeORM第一次创建连接时它属于"默认"名称,如果我们不提供一个,这是我的情况.
我用TypeOrmModule设置TypeORM为
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',
]
})
Run Code Online (Sandbox Code Playgroud)
当然我的常数是正确的.有任何想法吗 ?
Sar*_*rya 13
您试图在不建立连接的情况下创建存储库或管理器。
尝试在const shopkeeperRepository = getRepository(Shopkeeper);
函数中执行此操作。它会工作
如果其他人将来遇到此问题,请检查一下以防万一:
我不小心把“ user.save()
”变成了“ userRepo.save(user)
”。
(当然上面初始化连接是这样的:
const userRepo = getConnection(process.env.NODE_ENV).getRepository(User)
Run Code Online (Sandbox Code Playgroud)
小智 6
赞成的答案不一定正确,如果您不指定连接名称,它将默认为“默认”。
const manager = getConnectionManager().get('your_orm_name');
const repository = manager.getRepository<AModel>(Model);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9383 次 |
最近记录: |