Hello, I'm running into a typeorm issue when loading entities from a directory. For example, entities: ['entity/*.ts'] instead of entities: [User]. More information below using a default typeorm project (typeorm init). The only change between the default project and my issue is the entities value in data-source.ts.
Error details:
PS C:\foo> npm start
> start
> ts-node src/index.ts
Inserting a new user into the database...
EntityMetadataNotFoundError: No metadata for "User" was found.
at DataSource.getMetadata (C:\foo\src\data-source\DataSource.ts:438:30)
at C:\foo\src\persistence\EntityPersistExecutor.ts:84:56
at Array.forEach (<anonymous>)
at C:\foo\src\persistence\EntityPersistExecutor.ts:77:30
at Array.map (<anonymous>)
at EntityPersistExecutor.execute (C:\foo\src\persistence\EntityPersistExecutor.ts:73:34)
Setting up new project:
PS C:\foo> npm install typeorm reflect-metadata @types/node better-sqlite3 --save
PS C:\foo> typeorm init --database better-sqlite3
Project created inside current directory.
Please wait, installing dependencies...
Done! Start playing with a new project!
Original data-source.ts:
export const AppDataSource = new DataSource({
type: "better-sqlite3",
database: "database.sqlite",
synchronize: true,
logging: false,
entities: [User],
migrations: [],
subscribers: [],
})
Updated data-source.ts:
export const AppDataSource = new DataSource({
type: "better-sqlite3",
database: "database.sqlite",
synchronize: true,
logging: false,
entities: ['entity/*.ts'],
migrations: [],
subscribers: [],
})