- 加载目录中所有实体
加载目录中所有实体
之后当我们创建更多实体时,都需要将一一它们添加到配置中的实体中,但是这不是很方便,所以我们可以设置整个目录,从中连接所有实体并在连接中使用:
import { createConnection } from "typeorm";
createConnection({
type: "mysql",
host: "localhost",
port: 3306,
username: "root",
password: "admin",
database: "test",
entities: [__dirname + "/entity/*.js"],
synchronize: true
})
.then(connection => {
// 这里可以写实体操作相关的代码
})
.catch(error => console.log(error));
但要小心这种方法。如果使用的是ts-node
,则需要指定.ts
文件的路径。如果使用的是outDir
,那么需要在outDir
目录中指定.js
文件的路径。如果使用outDir
,当你删除或重命名实体时,请确保清除outDir
目录并再次重新编译项目,因为当你删除.ts
源文件时,其编译的.js
版本不会从输出目录中删除,并且 TypeORM 依然会从outDir
中加载这些文件,从而导致异常。