mikro-orm

TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, MS SQL Server, PostgreSQL and SQLite/libSQL databases.

MIT License

Downloads
5.6M
Stars
7.2K
Committers
255

Bot releases are hidden (Show)

mikro-orm - v6.0.6

Published by B4nan 9 months ago

6.0.6 (2024-01-29)

Bug Fixes

  • core: ensure em.insertMany returns array of PKs for a single item too (#5180) (0d58aaf), closes #5179
  • core: fix TypeError caused by validation of duplicate field names (01d8c26), closes #5163
  • core: make PK properties non-nullable in EntityDTO (dc4fc6f)
  • core: respect optionality in EntityDTO type (1691a79)
  • core: validate missing populate hint for cursor based pagination on relation properties (ea48db0), closes #5155
  • mongo: ensure assign on object properties won't ignore changes (a360300), closes #5158
  • query-builder: only map the first result with qb.getSingleResult() (0e56fe1), closes #5182
mikro-orm - v6.0.5

Published by B4nan 9 months ago

6.0.5 (2024-01-18)

Bug Fixes

  • cli: try to respect windows ESM binary (57e91e2), closes #5147
  • core: do not infer populate: ['*'] from fields: ['*'] (f658376), closes #5139
  • core: do not mutate data provided to em.upsert/Many (3d8c242), closes #5136
  • core: don't convert mapped types for constructor parameters when creating new entity (37befd3), closes #5150
  • core: fix bigint mode detection when hydrating new entity from returning statement (a42321d), closes #5146
  • core: merge serialization hints when lazy populating (f1d2487), closes #5138
  • query-builder: cache knex QB instance to get around issues with raw fragments (f6e76d8)
  • reflection: improve detection of Ref types with FK as PK (c8858d2), closes #5144
mikro-orm - v6.0.4

Published by B4nan 9 months ago

6.0.4 (2024-01-15)

Bug Fixes

  • core: respect reloaded properties of partially loaded entity during serialization (f7b6497), closes #5128

Features

  • core: allow reusing single raw fragment in multiple keys (fc967e2), closes #5129
mikro-orm - v6.0.3

Published by B4nan 9 months ago

6.0.3 (2024-01-13)

Bug Fixes

  • core: allow raw fragments as keys with multiple conditions (d0d5de8), closes #5112
  • core: fix leaking raw fragments cache (9638410)
  • core: respect raw fragments in orderBy and populateOrderBy (7bf986c), closes #5110
  • core: support raw fragments in order by with pagination (67ee6f5), closes #5110
  • core: do not map array types as Loaded when partially loaded (75d035d), closes #5123
  • core: provide mapped custom types into constructor with forceEntityConstructor (b293789), closes #5118

Features

  • core: export AutoPath and UnboxArray types (000c50c), closes #5124
  • core: map double and decimal properties to number or string based on the runtime type (312f293), closes #5120
mikro-orm - v6.0.2

Published by B4nan 9 months ago

6.0.2 (2024-01-09)

Bug Fixes

  • core: allow calling em.remove with not managed entity (88e055e), closes #5103
  • core: allow calling load() on references and collections of not managed entities (3b94bf9), closes #5082
  • core: respect logging options in em.count (481d02e), closes #5085
  • core: support $some/$none/$every on nested relations (2b3bd4d), closes #5099
  • reflection: fix processing of Opt and Hidden types when used in intersection (2bd612e)

Features

  • core: add wrap(entity).isManaged() (5931649)
  • entity-generator: allow customizing entity name based on schema name (1e5afb8), closes #5084
mikro-orm - v6.0.1

Published by B4nan 10 months ago

6.0.1 (2024-01-08)

Bug Fixes

  • core: adjust peer dependencies versions
mikro-orm - v6.0.0

Published by B4nan 10 months ago

6.0.0 (2024-01-08)

https://mikro-orm.io/blog/mikro-orm-6-released

Bug Fixes

  • core: allow using classes with private constructor with EntitySchema (d4d5b5e)
  • core: collection.loadItems() should respect wildcard populate (7f3065f), closes #4977
  • core: do not load all env vars from .env files automatically (09e60f7)
  • core: ensure correct serialization of not fully populated collections (a39a850)
  • core: ensure propagation and change-tracking works with useDefineForClassFields (#4730) (83f24aa), closes #4216
  • core: fix automatic calling of ensureDatabase on init (827b1f1)
  • core: fix hydration of complex FKs with joined strategy (a4f30ac)
  • core: fix hydration of object embeddables via joined strategy (b3e3e55), closes #5020
  • core: ignore SQL converter on object embeddables with custom types (83b989e), closes #5074
  • core: improve EntitySchema typing for repository option (37ee42e), closes #5006
  • core: make em.create strictly typed for relations too (#4752) (3535cc0), closes #4748
  • core: make Loaded type more flexible (c95e3b6), closes #3277
  • core: mark Reference.set() as private (#5017) (5aebf0b), closes #5003
  • core: refactor mapping of Date properties (#4391) (3a80369), closes #4362 #4360 #1476
  • core: respect @Index and @Unique decorators on embeddables (#4736) (c3d7717)
  • core: respect global schema option in first level cache (1833455)
  • core: respect schema option for entity instances in em.insert/Many (7eae031), closes #4424
  • core: return managed entity from em.refresh() (0bf5363)
  • core: return managed entity from em.refresh() (55815f4)
  • core: rework Collection initialization to use em.populate() (#4571) (7495142), closes #4464
  • core: rework pivot table joining (#4438) (0506d36), closes #4423
  • core: support embedded properties with conflicting property names (b43ef63), closes #5065
  • core: use join on conditions for populateWhere (#4025) (a03e57c), closes #3871
  • entity-generator: use index expressions for complex indexes (e.g. conditional) (64a39f8), closes #4911
  • knex: respect connection type in em.getKnex() (46957ba)
  • mongo: don't rename id to _id for embeddables and entities without serialized PK (0cee82d), closes #4960
  • postgres: allow postgres array operators on embedded array properties (ecf1f0c), closes #4930
  • postgres: parse timestamp dates less than year 100 (e774d40), closes #5071
  • respect postgresql no timestamptz precision default (#3832) (9fd7e26)
  • sql: do not alias conditions for update queries with collection operators (5820d66), closes #4956
  • sql: do not branch to-many joins for $and with a single item (a737b20)
  • test: fixed seed-manager.test.js on windows (#4924) (27a4504)

Code Refactoring

  • remove JavaScriptMetadataProvider (4e337cb)
  • remove Reference.load(prop: keyof T) signature (#5015) (32b48f7)

Features

  • core: add @EnsureRequestContext decorator + rename @UseRequestContext (5e088ae), closes #4009
  • core: add Collection.load() method (8aa1ad1)
  • core: add EagerProps symbol to respect eager props on type level (dfcf1f8)
  • core: add em.findAll() with optional where option (#4946) (23b0551), closes #3982
  • core: add FindOptions.exclude (#5024) (fe239cf)
  • core: add GeneratedCacheAdapter for production usage (#4167) (bd478af), closes #4164
  • core: add Hiddentype as an alternative to HiddenProps symbol (#5009) (c047bb1)
  • core: add HiddenProps symbol as type-level companion for hidden: true (7984769), closes #4093
  • core: add MikroORM.initSync() helper (#4166) (8b1a1fa), closes #4164
  • core: add Opt type as an alternative to OptionalProps symbol (#4753) (8853904)
  • core: add orm.checkConnection() helper (#4961) (b868f02), closes #4959
  • core: add ScalarRef and EntityRef types to allow explicit control (1ef7856), closes #4907
  • core: add sql.now(), sql.lower() and sql.upper() functions (#5044) (016fe63)
  • core: add sql.ref() helper (#4402) (b695811)
  • core: add cursor-based pagination via em.findByCursor() (#3975) (1e6825f)
  • core: add customizable LoggerContext with labeling support (#4233) (b985646), closes #4230
  • core: add discovery hooks onMetadata and afterDiscovered (#4799) (5f6c4f8)
  • core: add entity to identity map on em.persist() (1b09d26), closes #4905
  • core: add global serialization.forceObject option (731087d), closes #4881
  • core: add optional Type.compareValues method to allow custom comparators (732307a), closes #4870
  • core: add support for indexes on JSON properties (#4735) (82c8629), closes #1230
  • core: allow all CountOptions in Collection.loadCount() (25d1851)
  • core: allow auto-discovery of base classes with EntitySchema (10cfd28)
  • core: allow class references in subscribers array (7c8f776), closes #4231
  • core: allow configuring filters in Reference.load() and Collection.load() (#5025) (06012f7), closes #4975
  • core: allow defining serialization.forceObject: true on type level (#5045) (88eb3e5)
  • core: allow disabling colors via colors ORM config option (1bcaf09), closes #5037
  • core: allow extending EntityManager (#5064) (6c363e7)
  • core: allow inferring populate hint from filter via populate: ['$infer'] (#4939) (080fdbb), closes #1309
  • core: allow M:1 and 1:1 relations in virtual entities (#4932) (164a69e)
  • core: allow mapping database defaults from inline embeddables (#4384) (22ad61e), closes #3887
  • core: allow overriding global logging options on per-query basis (#4273) (51b6250), closes #4223
  • core: allow overriding ORM config path via --config (#3924) (2c929e0)
  • core: allow passing string values for PopulateHint enum (populateWhere) (2bd21eb)
  • core: allow populating collections with references (#4776) (3da6c39), closes #1158
  • core: allow setting logger context on EM level (#5023) (7e56104), closes #5022
  • core: allow type-safe populate all via populate: ['*'] (#4927) (7780f34), closes #4920
  • core: allow using Ref wrapper on scalar properties (#4358) (f9c30f1)
  • core: allow using dataloader for references and collections (#4321) (8f4790f), closes #266
  • core: allow using string values for loadStrategy and flushMode (f4e4e3b)
  • core: auto-join M:1 and 1:1 relations with filters (#5063) (66a6b75), closes #4975
  • core: improve validation of bidirectional 1:1 relations (7eb6ee6)
  • core: infer property type from default value (#4150) (38be986), closes #4060
  • core: make em.insert/Many strictly typed (require all properties) (01935e6)
  • core: native BigInt support (#4719) (31a905c)
  • core: re-export the core package from all drivers (#3816) (175c059)
  • core: remove static require calls (#3814) (b58f476), closes #3743
  • core: require mappedBy option for 1:m properties (716aa76)
  • core: require explicitly marked raw queries via raw() helper (#4197) (9c1b205)
  • core: respect ignoreFields on type level in wrap().toObject() (15de7a0), closes #4198
  • core: respect schema parameter in clientUrl (#4998) (9176ee0), closes #4997
  • core: respect naming strategy and explicit field names on embedded properties (#4866) (6151f3b), closes #4371 #2165 #2361
  • core: respect updates to M:N inverse sides and batch them (#4798) (ec65001), closes #4564
  • core: return Loaded type from Ref.load() (bc3ffa9), closes #3755
  • core: return single entity from em.populate() when called on single entity (4c4ec23)
  • core: rework serialization rules to always respect populate hint (#4203) (32d7c5f), closes #4138 #4199
  • core: strict partial loading (#4092) (d5d8c2d), closes #3443
  • core: support atomic updates via raw() helper (#4094) (1cd0d1e), closes #3657
  • core: support mapping one column to different STI properties (#4769) (e8d391b), closes #2388 #4440
  • core: throw when trying to iterate on a not initialized collection (2a3fd27), closes #3750
  • core: validate abstract target in relation decorators (dddb901)
  • core: validate duplicate field names (#4968) (71fead4), closes #4359
  • core: validate missing relation decorator (af31b3b), closes #3807
  • entity-generator: added ability to output type option in decorator (#4935) (2d1936a)
  • entity-generator: allow generating scalar properties for FKs (#4892) (abad6ca), closes #4898
  • entity-generator: allow local and global configuration of all options (#4965) (2876b8a)
  • entity-generator: allow overriding generated entity file name (4ebc8e3), closes #5026
  • entity-generator: detect more ManyToMany relations (#4974) (d0e3ac9)
  • entity-generator: generate OptionalProps and other symbols for EntitySchema (00f0a34)
  • mysql: support order by nulls first/last (#5021) (df75b24), closes #5004
  • postgres: add support for native enums (#4296) (8515380), closes #2764
  • postgres: add support for weighted tsvectors and a custom regconfig (#3805) (a0e2c7f), closes #3317
  • query-builder: add support for lateral sub-query joins (99f87c4), closes #624
  • query-builder: allow joining sub-queries (#4747) (613332c), closes #4429 #4549
  • query-builder: respect discriminator column when joining STI relation (57b7094), closes #4351
  • query-builder: support virtual entities (27f0c83), closes #5069
  • schema: add options to schema.ensureDatabase() method to create/clear (6a12fe1)
  • sql: add native support for generated columns (#4884) (a928291)
  • sql: print number of affected rows for insert and update queries (36336d9)
  • sql: rework joined strategy to support the default populateWhere: 'all' (#4957) (e5dbc24)
  • sql: support $some, $none and $every subquery operators (#4917) (50d2265), closes #2916
  • sql: use joined strategy as default for SQL drivers (#4958) (90ec766)
  • sql: use returning statements for reloading version fields on update (0a3abd7)

Performance Improvements

  • core: cache if entity has event listeners (cfa8d52)
  • core: optimize handling of FK value propagation (f3d0ec5)
  • core: speed up detection of constructor/toJSON parameters during discovery (a1288de)

BREAKING CHANGES

Please see the upgrading guide.

Full Changelog: https://github.com/mikro-orm/mikro-orm/compare/v5.9.7...v6.0.0

mikro-orm - v5.9.7

Published by B4nan 10 months ago

5.9.7 (2023-12-30)

Bug Fixes

  • core: check for root entity properties in em.canPopulate() when using STI (b8fcf45), closes #5043
  • core: fix eager loading detection with multiple populate hints for one property (da1daf5), closes #5057
  • core: support pivot entities with autoincrement PK (e250634), closes #4988
  • postgres: respect column length in down migrations (222e2b8), closes #5048
mikro-orm - v5.9.6

Published by B4nan 10 months ago

5.9.6 (2023-12-21)

Bug Fixes

  • core: fix assign on collections of unloaded entities (b60e4ee)
  • core: fix extra updates with select-in strategy and composite FKs (c848f8c)
mikro-orm - v5.9.5

Published by B4nan 10 months ago

5.9.5 (2023-12-15)

Bug Fixes

  • core: ensure eager loading on deeper levels work with joined strategy (cc5f476)
  • core: fix extra updates for composite FKs that share a column (78772fb)
  • core: fix infinite loop with populate: true and refresh: true (#5001) (9f63378)
  • core: fix returning statement hydration after em.upsert (a7e9a82), closes #4945
  • core: respect context in virtual entity expression callback (84d42a7)
  • postgres: allow using array operators (e.g. @>) with object arrays (6a5a1ef), closes #4973
  • schema: improve json default diffing for down migrations (5bc19ba)
  • sql: deduplicate keys in batch update queries (7de7a48)
mikro-orm - v5.9.4

Published by B4nan 11 months ago

5.9.4 (2023-11-17)

Bug Fixes

  • cli: support mikro-orm-esm on windows (c491af9)
  • core: fix auto-refresh detection in em.find for inlined embedded properties (759b7b8), closes #4904
  • core: support composite PKs in em.upsertMany() (85c38d4), closes #4923
  • mysql: improve diffing of defaults for JSON columns (d92a440), closes #4926
  • schema: do not inherit schema for FKs if not a wildcard entity (cc7fed9), closes #4918
  • schema: respect explicit schema in FKs to STI entities (cc19ebb), closes #4933
  • schema: respect up migration when detecting column renaming in down migration (d5af5bd), closes #4919
mikro-orm - v5.9.3

Published by B4nan 12 months ago

5.9.3 (2023-11-06)

Bug Fixes

  • core: only check the same entity type when detecting early update/delete (fef7a1b), closes #4895
  • core: return DriverException from em.upsertMany() (1ebfbdd), closes #4897
  • core: fix populating relations with cycles via select-in strategy (d0b35da), closes #4899
mikro-orm - v5.9.2

Published by B4nan 12 months ago

5.9.2 (2023-11-02)

Bug Fixes

  • core: fix partial loading of embedded properties with joined strategy (f887e77)
  • core: ignore limit, offset and order in em.count on virtual entity (03a7b86)
  • mongo: fix support for ignoreUndefinedInQuery (cef26c5), closes #4891
mikro-orm - v5.9.1

Published by B4nan 12 months ago

5.9.1 (2023-10-31)

Bug Fixes

  • core: propagate to owning side of 1:1 relation even if not initialized (9b2c9fe), closes #4879
  • postgres: fix hydrating of serial properties via returning statement (620309c)
mikro-orm - v5.9.0

Published by B4nan 12 months ago

5.9.0 (2023-10-24)

Bug Fixes

  • core: apply convertToJSValueSQL on composite FKs too (41425cb), closes #4843
  • core: clean up removed entities from relations in identity map (1e3bb0e), closes #4863
  • core: infer property type from columnType for non-inferrable types (e.g. unions with null) (6bc116a), closes #4833
  • core: remove some computed properties from metadata cache (eb138ad)
  • core: use write connection for fetching changes after upsert/upsertMany (#4872) (6b444ed), closes #4868
  • query-builder: do not alias formula expressions used in qb.groupBy() (e27e4b9), closes #2929
  • query-builder: respect preferReadReplicas in QueryBuilder (22e140e), closes #4847
  • serialization: run custom serializer on getters (#4860) (e76836e), closes #4859

Features

mikro-orm - v5.8.10

Published by B4nan about 1 year ago

5.8.10 (2023-10-18)

Bug Fixes

  • knex: fix populating M:N from inverse side with joined strategy (9f82e95)
  • reflection: ensure complete stripping of relative paths with multiple leading slashes (#4844) (8a635c7)
mikro-orm - v5.8.9

Published by B4nan about 1 year ago

5.8.9 (2023-10-15)

Bug Fixes

  • core: ignore SQL convertor methods on object embeddables (92e1d6f), closes #4824
  • core: respect database name in clientUrl of read replicas (015d4f4), closes #4813
  • query-builder: merge raw join results in qb.execute() (#4825) (5a28e9b), closes #4816 #4741
  • schema: skip changes of enum items on enum arrays (9accdf6), closes #476
mikro-orm - v5.8.8

Published by B4nan about 1 year ago

5.8.8 (2023-10-11)

Bug Fixes

  • core: do not rehydrate values provided to constructor (8ff3f65), closes #4790
  • core: hydrate relations with mapToPk as scalars to support custom types (4118076), closes #4803
  • postgres: escape array literal values containing backslash (#4797) (20179ec), closes #4796

Performance Improvements

  • core: fix duplicate processing of collection items when flushing (a8a1021), closes #4807
mikro-orm - v5.8.7

Published by B4nan about 1 year ago

5.8.7 (2023-10-05)

Bug Fixes

  • core: ensure virtual relation properties have no effect on commit order (606d633), closes #4781
  • core: fix conditions in em.upsertMany with composite keys (2f58556), closes #4786
  • core: fix extra updates when nullable embedded properties contain FK (77ffa4f), closes #4788
  • core: improve handling of nullable embedded properties (eae7e38), closes #4787
  • schema: respect length of default value of datetime columns (cbc0c50), closes #4782
mikro-orm - v5.8.6

Published by B4nan about 1 year ago

5.8.6 (2023-10-02)

Bug Fixes

  • core: alias joins on non persistent properties (d70d323), closes #4773
  • core: respect disableContextResolution option when forking (5964e52), closes #4717 #3338
  • migrations: allow running migrations outside of main transaction (e0dfb0c), closes #4775
Package Rankings
Top 0.84% on Npmjs.org
Top 6.72% on Proxy.golang.org
Badges
Extracted from project README
NPM version NPM dev version Chat on discord Downloads Coverage Status Maintainability Build Status
Related Projects