Skip to content

Releases: formal-php/orm

3.2.0

20 Aug 15:13
3.2.0
2b1c24b
Compare
Choose a tag to compare

Added

  • Formal\ORM\Specification\Has

Fixed

  • Updating an optional entity resulting in no property change no longer raised an exception when stored via SQL nor it generates an invalid document in Elasticsearch

3.1.1

01 Aug 11:54
3.1.1
7f075db
Compare
Choose a tag to compare

Added

  • Formal\ORM\Definition\Type\PointInTimeType::new()

Deprecated

  • Formal\ORM\Definition\Type\PointInTimeType::of() as it uses a non standard string format. Use ::new() instead, but don't forget to migrate your data.

Fixed

  • Psalm was complaining of a missing argument when using PointInTimeType::of()

3.1.0

26 Jul 09:48
3.1.0
9f20f28
Compare
Choose a tag to compare

Added

  • Formal\ORM\Definition\Aggregagtes::mapName()

3.0.0

14 Jul 16:17
3.0.0
85b2b51
Compare
Choose a tag to compare

Added

  • Formal\ORM\Adapter\Repository::removeAll()
  • Formal\ORM\Specification\Child\Enum

Changed

  • Requires innmind/specification:~4.0
  • Requires formal/access-layer:~4.0

Removed

  • Formal\ORM\Adapter\Repository\MassRemoval, its method has been merged into Formal\ORM\Adapter\Repository

Fixed

  • Ability to remove with a condition on an entity property

2.2.0

08 Jul 06:55
2.2.0
255ce24
Compare
Choose a tag to compare

Added

  • Formal\ORM\Adapter\Repository\MassRemoval
  • You can match aggregates on optionals via Formal\ORM\Specification\Just
  • Formal\ORM\Definition\Type\Support

Changed

  • You can now pass a Specification to Repository::remove() to remove multiple aggregates at once
  • When a Set is modified in an aggregate but the resulting Set contains the same values the orm no longer re-persist the whole collection
  • The Contains attribute now enforce to only be used on properties

2.1.0

02 Jun 15:54
2.1.0
1fc076c
Compare
Choose a tag to compare

Added

  • Formal\ORM\Id::for()

2.0.2

29 May 15:43
2.0.2
98bd217
Compare
Choose a tag to compare

Changed

  • Requires innmind/immutable:~5.4
  • Requires formal/access-layer:~2.17

Fixed

  • false values not being persisted
  • Silent insert failures of entities inside collections

2.0.1

22 May 14:18
2.0.1
7f2089b
Compare
Choose a tag to compare

Fixed

  • Properties named id are now parsed correctly in entities

2.0.0

25 Feb 14:14
2.0.0
3a7a926
Compare
Choose a tag to compare

Added

  • You can match aggregates on collections via Formal\ORM\Specification\Child
  • Formal\ORM\Adapter\Repository::any()
  • You can use any enum as a property type (nullable/optional or not)
  • You can use any enum inside Sets without having to wrap them in another class
  • Formal\ORM\Adapter\Elasticsearch to store aggregates in Elasticsearch
  • Formal\ORM\Adapter\Elasticsearch\CreateIndex
  • Formal\ORM\Adapter\Elasticsearch\DropIndex

Changed

  • Aggregates are now stored on multiple files with the Filesystem adapter
  • (Optional) Entities id column with the SQL adapter now use the Aggregate id as a value, the columns in the Aggregate column referencing these columns have been removed
  • Formal\ORM\Raw\Aggregate\Collection::properties() has been renamed ::entities()
  • Collection, entities and optional entities table column id has been renamed aggregateId
  • Formal\ORM\Specification\Entity now has a similar api to Child

1.2.0

15 Jan 15:53
1.2.0
0adbaed
Compare
Choose a tag to compare

Changed

  • Requires innmind/filesystem:~7.4