• 加载目录中所有实体

    加载目录中所有实体

    之后当我们创建更多实体时,都需要将一一它们添加到配置中的实体中,但是这不是很方便,所以我们可以设置整个目录,从中连接所有实体并在连接中使用:

    1. import { createConnection } from "typeorm";
    2. createConnection({
    3. type: "mysql",
    4. host: "localhost",
    5. port: 3306,
    6. username: "root",
    7. password: "admin",
    8. database: "test",
    9. entities: [__dirname + "/entity/*.js"],
    10. synchronize: true
    11. })
    12. .then(connection => {
    13. // 这里可以写实体操作相关的代码
    14. })
    15. .catch(error => console.log(error));

    但要小心这种方法。如果使用的是ts-node,则需要指定.ts文件的路径。如果使用的是outDir,那么需要在outDir目录中指定.js文件的路径。如果使用outDir,当你删除或重命名实体时,请确保清除outDir目录并再次重新编译项目,因为当你删除.ts源文件时,其编译的.js版本不会从输出目录中删除,并且 TypeORM 依然会从outDir中加载这些文件,从而导致异常。