我在脚本中尝试了很多将实体导入到创建连接TypeORM中的操作,但是没有正确运行。这样,我就没有准备好将实体与代码一起使用的存储库。
处理typeOrm库的文件:
import * as fs from 'fs'
import * as typeorm from 'typeorm'
import {Public} from './../entity/Public'
export default class ConnectionManager
{
async createConnection()
{
this.connection = await this.connectionManager.create({
type: 'sqlite',
database: './src/data/mydb.sql',
synchronize: true,
entities: [
Public,
'./../entity/Public.js',
'./../entity/Public.ts',
'./../entity/Public',
'./../entity/*.js',
'./../entity/*.ts',
"./../entity/Public.js",
"./../entity/Public.ts",
"./../entity/Public",
"./../entity/*.js",
"./../entity/*.ts",
"src/entity/*.ts",
"src/entity/*.js",
'src/entity/*.ts',
'src/entity/*.js',
],
})
}
为什么以及如何正确地将实体声明为typeOrm的连接创建?
答案 0 :(得分:0)
似乎不是在最新版本的typeorm中创建实体。因此,请使用以下命令使用“ typeorm-model-generator”包生成实体。
npx typeorm-model-generator -d "Database path or Host" -e DatabaseName -o "Path of Entity folder"
这将帮助您生成实体架构。 谢谢。
答案 1 :(得分:0)
您应该在./../entity/中创建一个index.ts文件,并以如下方式导入所有实体类:
import {Public1} from "./public1";
import {Public2} from "./public2";
export default [
Public1,
Public2
]
并导入创建连接的文件,如下所示:
import * as fs from 'fs';
import * as typeorm from 'typeorm';
import entities from './../entity';
export default class ConnectionManager
{
async createConnection()
{
this.connection = await this.connectionManager.create({
type: 'sqlite',
database: './src/data/mydb.sql',
synchronize: true,
entities,
})
}
阅读和组织起来会更好。