【发布时间】:2021-02-02 13:43:53
【问题描述】:
堆栈 => Nodejs、Express.js、Typeorm
我正在尝试将 typeorm 与打字稿一起使用。我创建了一个存储库来保存幸存者信息。但我不断收到此错误:
ConnectionNotFoundError: Connection "default" was not found.
at new ConnectionNotFoundError (/Users/Wblech/codeminerTeste/backend/src/error/ConnectionNotFoundError.ts:8:9)
at ConnectionManager.get (/Users/Wblech/codeminerTeste/backend/src/connection/ConnectionManager.ts:40:19)
at Object.getRepository (/Users/Wblech/codeminerTeste/backend/src/index.ts:284:35)
at new CreateSurvivorRepository (/Users/Wblech/codeminerTeste/backend/src/repositories/typeorm/CreateSurvivorRepository.ts:10:26)
at Object.<anonymous> (/Users/Wblech/codeminerTeste/backend/src/useCases/CreateSurvivor/index.ts:6:41)
at Module._compile (internal/modules/cjs/loader.js:774:30)
at Module._compile (/Users/Wblech/codeminerTeste/backend/node_modules/source-map-support/source-map-support.js:547:25)
at Module.m._compile (/private/var/folders/fr/6x3p83cj6r73h57k1_x6nctc0000gn/T/ts-node-dev-hook-7748782675459163.js:69:33)
at Module._extensions..js (internal/modules/cjs/loader.js:785:10)
at require.extensions..jsx.require.extensions..js (/private/var/folders/fr/6x3p83cj6r73h57k1_x6nctc0000gn/T/ts-node-dev-hook-7748782675459163.js:114:20)
[ERROR] 00:28:59 ConnectionNotFoundError: Connection "default" was not found.
我的 ormconfig.json 就是这个:
{
"name": "default",
"type": "postgres",
"host": "localhost",
"port": 5432,
"username": "postgres",
"password": "teste",
"database": "codeminer_backend",
"entities": [
"src/database/models/*.ts"
],
"migrations": [
"src/database/migrations/*.ts"
],
"cli": {
"migrationsDir": "./src/database/migrations"
}
}
这些是错误指定的代码:
at new CreateSurvivorRepository (/Users/Wblech/codeminerTeste/backend/src/repositories/typeorm/CreateSurvivorRepository.ts:10:26)
import { getRepository, Repository } from 'typeorm'
import { SurvivorOrm } from '../../database/models/SurvivorsOrm'
import { ICreateSurvivorRequestDTO } from '../../useCases/CreateSurvivor/CreateSurvivorDTO'
import { ICreateSurvivorRepository } from '../ICreateSurvivorRepository'
export class CreateSurvivorRepository implements ICreateSurvivorRepository {
private ormRepository: Repository<SurvivorOrm>
constructor () {
this.ormRepository = getRepository(SurvivorOrm)
}
public async create ({ id, name, age, gender, lastLocation, infected }: ICreateSurvivorRequestDTO): Promise<SurvivorOrm> {
const survivor = await this.ormRepository.create({ id, name, age, gender, lastLocation, infected })
await this.ormRepository.save(survivor)
return survivor
}
}
at Object.<anonymous> (/Users/Wblech/codeminerTeste/backend/src/useCases/CreateSurvivor/index.ts:6:41)
import { CreateInventoryRepository } from '../../repositories/typeorm/CreateInventoryRepository'
import { CreateSurvivorRepository } from '../../repositories/typeorm/CreateSurvivorRepository'
import { CreateSurvivorController } from './CreateSurvivorController'
import { CreateSurvivorUseCase } from './CreateSurvivorUseCase'
const createSurvivorRepositoryTypeOrm = new CreateSurvivorRepository()
const createInventoryRepositoryTypeOrm = new CreateInventoryRepository()
const createSurvivorUseCase = new CreateSurvivorUseCase(
createSurvivorRepositoryTypeOrm,
createInventoryRepositoryTypeOrm
)
const createSurvivorController = new CreateSurvivorController(
createSurvivorUseCase
)
export { createSurvivorUseCase, createSurvivorController }
我的连接在路径“./src/database/index.ts”的一个文件中,是这个:
import { createConnection } from 'typeorm'
createConnection()
我在这个名为 server.ts 的文件中导入连接:
import express from 'express'
import { router } from './router'
import './database'
const port = 8081
const app = express()
app.use(express.json())
app.use(router)
app.listen(port, () => console.log(`App running at ${port}`))
我真的被困在这个问题上
【问题讨论】:
标签: javascript typescript typeorm clean-architecture