-
-
Notifications
You must be signed in to change notification settings - Fork 611
Closed
Labels
Description
Describe the bug
Formula property otherCount defined with EntitySchema as follows:
export const schema = new EntitySchema({
name: "MyEntity",
class: MyEntity,
properties: {
_id: { primary: true, type: 'number'},
other: { type: 'OtherEntity', reference: ReferenceType.MANY_TO_MANY},
otherCount: { formula: 'COUNT(other)' },
},
});Throws a TypeError: Cannot read properties of undefined (reading 'toLowerCase')
Stack trace
TypeError: Cannot read properties of undefined (reading 'toLowerCase')
at MetadataDiscovery.getMappedType (/home/user/WebstormProjects/test-mikro/node_modules/@mikro-orm/core/metadata/MetadataDiscovery.js:845:52)
at MetadataDiscovery.initColumnType (/home/user/WebstormProjects/test-mikro/node_modules/@mikro-orm/core/metadata/MetadataDiscovery.js:820:37)
at MetadataDiscovery.processDiscoveredEntities (/home/user/WebstormProjects/test-mikro/node_modules/@mikro-orm/core/metadata/MetadataDiscovery.js:71:28)
at async MetadataDiscovery.discover (/home/user/WebstormProjects/test-mikro/node_modules/@mikro-orm/core/metadata/MetadataDiscovery.js:35:9)
at async MikroORM.discoverEntities (/home/user/WebstormProjects/test-mikro/node_modules/@mikro-orm/core/MikroORM.js:102:25)
at async Function.init (/home/user/WebstormProjects/test-mikro/node_modules/@mikro-orm/core/MikroORM.js:47:9)...
To Reproduce
Steps to reproduce the behavior:
- Define an entity in Javascript using the EntitySchema
- Add a property that is a formula without a type
- Error
Expected behavior
Formula properties should not need a type, as the docs show:
properties: {
objectVolume: { formula: 'obj_length * obj_height * obj_width' },
},
Versions
| Dependency | Version |
|---|---|
| node | v16.17.0 |
| typescript | - |
| mikro-orm | 5.4.2 |
| @mikro-orm/postgresql | 5.4.2 |