Packages
ash_postgres
2.5.9
2.10.0
2.9.1
2.9.0
2.8.0
2.7.0
2.6.32
2.6.31
2.6.30
2.6.29
2.6.28
2.6.27
2.6.26
2.6.25
2.6.24
2.6.23
2.6.22
2.6.21
2.6.20
2.6.19
2.6.18
2.6.17
2.6.16
2.6.15
2.6.14
2.6.13
2.6.12
2.6.11
2.6.10
2.6.9
2.6.8
2.6.7
2.6.6
2.6.5
2.6.4
2.6.3
2.6.2
2.6.1
2.6.0
2.5.22
2.5.21
2.5.20
2.5.19
2.5.18
2.5.17
2.5.16
2.5.15
2.5.14
2.5.13
2.5.12
2.5.11
2.5.10
2.5.9
2.5.8
2.5.7
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.21
2.4.20
2.4.19
2.4.18
2.4.17
2.4.16
2.4.15
2.4.14
2.4.13
2.4.12
2.4.11
2.4.10
2.4.9
2.4.8
2.4.7
2.4.6
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4.0
2.3.1
2.3.0
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.19
2.1.18
2.1.17
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.12
2.0.11
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
2.0.0-rc.15
2.0.0-rc.14
2.0.0-rc.13
2.0.0-rc.12
2.0.0-rc.11
2.0.0-rc.10
2.0.0-rc.9
2.0.0-rc.8
2.0.0-rc.7
2.0.0-rc.6
2.0.0-rc.5
2.0.0-rc.4
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
1.5.30
1.5.29
1.5.28
1.5.27
1.5.26
1.5.25
1.5.24
1.5.23
1.5.22
1.5.21
1.5.20
1.5.19
1.5.18
1.5.17
1.5.16
1.5.15
1.5.14
1.5.13
1.5.12
1.5.11
1.5.10
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.0
1.3.68
1.3.67
1.3.66
1.3.65
1.3.64
1.3.63
1.3.62
1.3.61
1.3.60
1.3.59
1.3.58
1.3.56
1.3.55
1.3.54
1.3.53
1.3.52
1.3.51
1.3.50
1.3.49
1.3.48
1.3.47
1.3.46
1.3.45
1.3.44
1.3.43
1.3.42
1.3.41
1.3.40
1.3.39
1.3.38
1.3.37
1.3.36
1.3.35
1.3.34
1.3.33
1.3.32
1.3.31
1.3.30
1.3.29
1.3.28
1.3.26
1.3.25
1.3.24
1.3.23
1.3.22
1.3.21
1.3.20
1.3.19
1.3.18
1.3.17
1.3.16
1.3.15
1.3.14
1.3.12
1.3.11
1.3.10
1.3.9
1.3.8
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.3.0-rc.4
1.3.0-rc.3
1.3.0-rc.2
1.3.0-rc.0
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.2.0-rc.1
1.2.0-rc.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.0
1.0.0-rc.9
1.0.0-rc.8
1.0.0-rc.7
1.0.0-rc.6
1.0.0-rc.5
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
1.0.0-pre.3
1.0.0-pre.2
1.0.0-pre.1
1.0.0-pre.0
0.43.0
0.42.0-rc.7
0.42.0-rc.6
0.42.0-rc.5
0.42.0-rc.4
0.42.0-rc.3
0.42.0-rc.1
0.42.0-rc.0
0.41.7
0.41.6
0.41.5
0.41.4
0.41.3
0.41.2
0.41.1
0.41.0-rc0
retired
0.41.0-rc.9
0.41.0-rc.8
0.41.0-rc.7
0.41.0-rc.6
0.41.0-rc.5
0.41.0-rc.4
0.41.0-rc.3
0.41.0-rc.2
0.41.0-rc.1
0.41.0-rc.0
0.40.11
0.40.10
0.40.9
0.40.8
0.40.7
0.40.6
0.40.5
0.40.4
0.40.3
0.40.2
0.40.1
0.40.0-rc5
0.40.0-rc4
0.40.0-rc3
0.40.0-rc2
0.40.0-rc1
0.39.0-rc0
0.38.11
0.38.10
0.38.9
0.38.8
0.38.7
0.38.6
0.38.5
0.38.4
0.38.3
0.38.2
0.38.1
0.38.0
0.37.8
0.37.7
0.37.6
0.37.5
0.37.4
0.37.3
0.37.2
0.37.1
0.37.0
0.36.5
0.36.4
0.36.3
0.36.2
0.36.1
0.36.0
0.35.5
0.35.4
0.35.3
0.35.1
0.34.5
0.34.4
0.34.3
0.34.2
0.34.1
0.34.0
0.33.1
0.33.0
0.32.2
0.32.1
0.32.0
0.31.1
0.30.1
0.29.6
0.29.5
0.29.4
0.29.3
0.29.2
0.29.1
0.28.1
0.28.0
0.27.0
0.26.2
0.26.1
0.26.0
0.25.5
0.25.4
0.25.3
0.25.2
0.25.1
0.25.0
0.24.0
0.23.2
0.23.1
0.23.0
0.22.1
0.22.0
0.21.0
0.20.1
0.20.0
0.19.0
0.18.0
0.17.0
0.16.1
0.15.0
0.14.0
0.13.0
0.12.1
0.12.0
0.11.2
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.1
0.2.0
0.1.4
0.1.3
0.1.2
0.1.1
0.1.1-rc.2
0.1.1-rc.1
0.1.1-rc.0
0.1.0
The PostgreSQL data layer for Ash Framework
Current section
Files
Jump to
Current section
Files
documentation/1.0-CHANGELOG.md
## [v2.0.0-rc.14](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.13...v2.0.0-rc.14) (2024-04-29)
### Improvements:
- support latest ash & calculate/3 capability
## [v2.0.0-rc.13](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.12...v2.0.0-rc.13) (2024-04-27)
### Bug Fixes:
- ensure limit/offset triggers joining for update/destroy query
- only reference `sub` if a subquery is created
## [v2.0.0-rc.12](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.11...v2.0.0-rc.12) (2024-04-27)
### Bug Fixes:
- update ash_sql for inner join fixes
- fix argument order in AshSql.Bindings.default_bindings/4 (#251)
## [v2.0.0-rc.11](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.10...v2.0.0-rc.11) (2024-04-24)
### Bug Fixes:
- properly honor `limit` in bulk operations
## [v2.0.0-rc.10](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.9...v2.0.0-rc.10) (2024-04-23)
### Bug Fixes:
- undo change that expresses that atomics cant be done without `ash-functions`
## [v2.0.0-rc.9](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.8...v2.0.0-rc.9) (2024-04-23)
### Breaking Changes:
- change defaults for uuids to `gen_random_uuid()`
- Use UTC for default generated timestamps (#131)
- 3.0 (#227)
### Features:
- add `create?` and `drop?` callbacks to `AshPostgres.Repo` (#143)
### Bug Fixes:
- handle missing aggregate relationships and fields better in transformers
- update ash_sql for bug fixes
- reproduce issue around atomic updates & validations
- ensure that `exists` with a filter paired with `from_many?` functions properly
- update ash_sql, fix credo
- use proper sql implementation in `default_bindings`
- don't wait for shell input when checking migrations
- properly handle non-filter aggregate filters
- ensure timestamps are present in extension migrations
- handle fully fleshed out aggregate fields
### Improvements:
- warn on missing ash-functions at compile time
- support `mix ash.rollback` with interactive rollback
- don't fetch version in agent when using sandbox
- loosen 3.0 release candidate requirement
- fixes for 3.0 changes and AshSql changes
- move many internals out to `AshSql` package
- add default implementation for pg_version, and rename to `min_pg_version`
- upgrade to 3.0
- properly show unsupported error expression
## [v2.0.0-rc.8](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.7...v2.0.0-rc.8) (2024-04-22)
### Bug Fixes:
- ensure that `exists` with a filter paired with `from_many?` functions properly
## [v2.0.0-rc.7](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.6...v2.0.0-rc.7) (2024-04-12)
### Bug Fixes:
- update ash_sql, fix credo
## [v2.0.0-rc.6](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.5...v2.0.0-rc.6) (2024-04-10)
### Bug Fixes:
- use proper sql implementation in `default_bindings`
### Improvements:
- support `mix ash.rollback` with interactive rollback
## [v2.0.0-rc.5](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.4...v2.0.0-rc.5) (2024-04-05)
### Bug Fixes:
- don't wait for shell input when checking migrations
### Improvements:
- don't fetch version in agent when using sandbox
## [v2.0.0-rc.4](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.3...v2.0.0-rc.4) (2024-04-02)
### Improvements:
- loosen 3.0 release candidate requirement
## [v2.0.0-rc.3](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.2...v2.0.0-rc.3) (2024-04-01)
### Improvements:
- fixes for 3.0 changes and AshSql changes
- move many internals out to `AshSql` package
## [v2.0.0-rc.2](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.1...v2.0.0-rc.2) (2024-03-29)
### Breaking Changes:
- change defaults for uuids to `gen_random_uuid()`
- Use UTC for default generated timestamps (#131)
- 3.0 (#227)
### Features:
- add `create?` and `drop?` callbacks to `AshPostgres.Repo` (#143)
### Bug Fixes:
- properly handle non-filter aggregate filters
- ensure timestamps are present in extension migrations
- handle fully fleshed out aggregate fields
### Improvements:
- add default implementation for pg_version, and rename to `min_pg_version`
- upgrade to 3.0
- properly show unsupported error expression
## [v2.0.0-rc.1](https://github.com/ash-project/ash_postgres/compare/v2.0.0-rc.0...v2.0.0-rc.1) (2024-03-28)
### Improvements:
- add default implementation for pg_version, and rename to `min_pg_version`
## [v2.0.0-rc.0](https://github.com/ash-project/ash_postgres/compare/v1.5.22...v2.0.0-rc.0) (2024-03-27)
### Breaking Changes:
- change defaults for uuids to `gen_random_uuid()`
- Use UTC for default generated timestamps (#131)
### Features:
- add `create?` and `drop?` callbacks to `AshPostgres.Repo` (#143)
### Improvements:
- show proper error when using error expresison without `ash-functions` extension
## [v1.5.22](https://github.com/ash-project/ash_postgres/compare/v1.5.21...v1.5.22) (2024-03-20)
### Bug Fixes:
- don't fail on aggregate query generation
## [v1.5.21](https://github.com/ash-project/ash_postgres/compare/v1.5.20...v1.5.21) (2024-03-20)
### Bug Fixes:
- properly format migrations
- ensure exists aggregates have filters included
## [v1.5.20](https://github.com/ash-project/ash_postgres/compare/v1.5.19...v1.5.20) (2024-03-20)
### Bug Fixes:
- undo default of nulls_distinct option to true (#223)
- generate correct custom index name in down migration function (#222)
## [v1.5.19](https://github.com/ash-project/ash_postgres/compare/v1.5.18...v1.5.19) (2024-03-19)
### Bug Fixes:
- encode maps on update using fragments
### Improvements:
- Add nulls_distinct option to CustomIndex (#221)
## [v1.5.18](https://github.com/ash-project/ash_postgres/compare/v1.5.17...v1.5.18) (2024-03-19)
### Bug Fixes:
- don't reuse binding in many to many aggregate joins
- typo in extension generator creates invalid drop
- merge base_filter and custom index's where correctly (#219)
### Improvements:
- properly format generated migrations
- don't select fields in exists subquery
## [v1.5.17](https://github.com/ash-project/ash_postgres/compare/v1.5.16...v1.5.17) (2024-03-06)
### Bug Fixes:
- prevent ecto/pg from getting confused about the type of maps
## [v1.5.16](https://github.com/ash-project/ash_postgres/compare/v1.5.15...v1.5.16) (2024-03-05)
### Bug Fixes:
- always exclude `:order_by` on bulk updateable query
- don't apply join relationship sort for lateral join
## [v1.5.15](https://github.com/ash-project/ash_postgres/compare/v1.5.14...v1.5.15) (2024-03-01)
### Improvements:
- don't double cast to the same type
- detect more types
## [v1.5.14](https://github.com/ash-project/ash_postgres/compare/v1.5.13...v1.5.14) (2024-03-01)
### Improvements:
- no need for subquery for simple table aliases
## [v1.5.13](https://github.com/ash-project/ash_postgres/compare/v1.5.12...v1.5.13) (2024-02-29)
### Bug Fixes:
- properly handle multiple sorts in aggregate
## [v1.5.12](https://github.com/ash-project/ash_postgres/compare/v1.5.11...v1.5.12) (2024-02-29)
### Bug Fixes:
- ensure that `from_many?` joins are properly limited
- ensure that lateral joins are properly filtered
## [v1.5.11](https://github.com/ash-project/ash_postgres/compare/v1.5.10...v1.5.11) (2024-02-29)
### Bug Fixes:
- simplify(and fix) exists subquery generation
- properly leverage subqueries throughout relationship joining
- migration generator extensions in multiple repos (#214)
- Migration generator for extensions in multiple repos
### Improvements:
- optimize more cases for simple join aggregates
## [v1.5.10](https://github.com/ash-project/ash_postgres/compare/v1.5.9...v1.5.10) (2024-02-26)
### Bug Fixes:
- fix error when encoding vectors
- ensure select is applied (or not) properly in bulk update/destroys
## [v1.5.9](https://github.com/ash-project/ash_postgres/compare/v1.5.8...v1.5.9) (2024-02-25)
### Bug Fixes:
- handle more subquery filter cases for aggregates
- only apply filters inside aggregate subquery
### Improvements:
- add test for aggregates
## [v1.5.8](https://github.com/ash-project/ash_postgres/compare/v1.5.7...v1.5.8) (2024-02-24)
### Bug Fixes:
- properly handle complex types in lists
## [v1.5.7](https://github.com/ash-project/ash_postgres/compare/v1.5.6...v1.5.7) (2024-02-22)
### Bug Fixes:
- properly apply lateral join conditions to left lateral joins
## [v1.5.6](https://github.com/ash-project/ash_postgres/compare/v1.5.5...v1.5.6) (2024-02-21)
### Bug Fixes:
- ensure select is properly set on delete_all
### Improvements:
- optimize aggregate query filtering
## [v1.5.5](https://github.com/ash-project/ash_postgres/compare/v1.5.4...v1.5.5) (2024-02-21)
### Bug Fixes:
- ensure proper return value for single aggregate runs
## [v1.5.4](https://github.com/ash-project/ash_postgres/compare/v1.5.3...v1.5.4) (2024-02-21)
### Bug Fixes:
- don't sort a query that will be used with `delete_all`
- ensure that `exists?` aggregates use `repo.exists?`
- properly handle to_many joins in aggregates
- honor aggregate query filters
- use proper tables in joins originating from polymorphic resource (#211)
- properly transfer table names to non-inner wrapper queries (#210)
## [v1.5.3](https://github.com/ash-project/ash_postgres/compare/v1.5.2...v1.5.3) (2024-02-19)
### Bug Fixes:
- handle non-inner joins in delete_all
- handle non-inner joins in update
## [v1.5.2](https://github.com/ash-project/ash_postgres/compare/v1.5.1...v1.5.2) (2024-02-19)
### Bug Fixes:
- don't update_all or delete_all with `order_by`
- handle updating from queries w/ non-inner initial joins
## [v1.5.1](https://github.com/ash-project/ash_postgres/compare/v1.5.0...v1.5.1) (2024-02-19)
### Bug Fixes:
- joining to `from_many?: true` relationships not honoring limit
## [v1.5.0](https://github.com/ash-project/ash_postgres/compare/v1.4.0...v1.5.0) (2024-02-16)
### Features:
- Make MigrationGenerator accept atoms (#201)
### Bug Fixes:
- allow subquerying a `through` while aggregating a many to many
- don't subquery if we need to reference `parent_as`
- avoid double wrapping in subqueries
- properly set 0 binding on joined subquery creation
- properly alter renaming attributes in migration generator
- handle original data not available in destroy_query
- use primary key of source as join key
- use pkey if error fields is empty
- forgot to bind keys to a variable ð¤¦ð»
- ensure identity keys is never missing
- properly build subqueries when required for relationship queries
- only migrate/rollback one repo at a time
- proper return types for updates from queries
- allow atomics to return `nil`
- Correct the matching used in building a distinct expression (#196)
- only rollback to savepoint on specific errors
- keep fields of `custom_index` in format that they were provided (#195)
- remap selected fields, don't subquery in aggregate joins
- include explicit schema in snapshot folder name
- Support all_tenants? in custom index (#194)
### Improvements:
- update to latest ash
- mark (i)like functions as predicates (#205)
- detect bigserial when altering attributes
- Include modules in installed_extensions return type (#202)
- don't drop primary key in case of removal
- handle if select is present on query
- support `Ash.Changeset.OriginalDataNotAvailable`
- support `count_nils` expression
- `error_fields` for `custom_index`
- support latest ash changes
## [v1.4.0](https://github.com/ash-project/ash_postgres/compare/v1.3.68...v1.4.0) (2024-01-12)
### Features:
- Add unit test to check lateral joins
### Bug Fixes:
- unset sort/distinct on related queries
- subquery relationships that have filters
- don't overwrite manually set schema on lateral join query
- properly configure `polymorphic_name` option
- honor configured schema on bulk create
### Improvements:
- support `all_tenants?` option for identities
- support `all_tenants?` option for custom indexes
- support join_filters on aggregates
- use the target action when generating related queries
## [v1.3.68](https://github.com/ash-project/ash_postgres/compare/v1.3.67...v1.3.68) (2024-01-04)
### Bug Fixes:
- properly gather types for operator & function overloads
## [v1.3.67](https://github.com/ash-project/ash_postgres/compare/v1.3.66...v1.3.67) (2024-01-04)
### Bug Fixes:
- support encoding errors with expressions in them
### Improvements:
- support latest ash version & operator overrides
- support new bulk operations
## [v1.3.66](https://github.com/ash-project/ash_postgres/compare/v1.3.65...v1.3.66) (2023-12-30)
### Improvements:
- support new `return_query/2` callback
- support new `:no_rollback` error signal
- require `name` when generating migrations
- support directly referencing aggregates from aggregates
- support aggregates as `get_path` subject
## [v1.3.65](https://github.com/ash-project/ash_postgres/compare/v1.3.64...v1.3.65) (2023-12-23)
### Bug Fixes:
- various fixes for unnecessary aggregate additions
- use lateral joins when joining to subquery w/ parent reference
- replace upsert field with source in EXCLUDED fragment (#187)
- handle strings in get_path
- reenable mix tasks that need calling
### Improvements:
- support aggregates using other aggregates
- support string_length and string_trim
- only start savepoints when necessary
- clean up nested if statements to single case statements
- support for `error/2` expression
## [v1.3.64](https://github.com/ash-project/ash_postgres/compare/v1.3.63...v1.3.64) (2023-12-04)
### Bug Fixes:
- properly cast lazy update defaults to target type
## [v1.3.63](https://github.com/ash-project/ash_postgres/compare/v1.3.62...v1.3.63) (2023-12-03)
### Bug Fixes:
- use maps for composite_type instead of tuples
- avoid empty error on upserts with `:nothing`
- simplify aggregate bindings & calculation reference building
- hydrate aggregate refs when adding for calculations
- apply limit to `from_many?` relationship joins
- properly add filters for exists aggregates
- properly expand calculation values across aggregate invocations
- don't add filter for `no_attributes?` relationships
- handle `no_attributes?` flag on aggregates better
- properly handle sorted relationships in aggregates
### Improvements:
- support `composite_type/2` expression
- support composite types
- optimize relationships with identity on other end
- allow specifying multi-column foreign keys (#180)
- add match_with option on references
- add match_type option on references
## [v1.3.62](https://github.com/ash-project/ash_postgres/compare/v1.3.61...v1.3.62) (2023-11-16)
### Bug Fixes:
- use `synonymous_relationship_path` when looking up ref bindings
- add calculation context to calculation expressions
## [v1.3.61](https://github.com/ash-project/ash_postgres/compare/v1.3.60...v1.3.61) (2023-11-15)
### Bug Fixes:
- don't append update_defaults automatically if `upsert_fields` was set
- don't ensure repo compiled at compile time
- handle additional case for new functional repo callback
- get resource from proper bindings on `exists` query
### Improvements:
- support a 2 argument function for the repo option
- spport `CURRENT_DATE` default
## [v1.3.60](https://github.com/ash-project/ash_postgres/compare/v1.3.59...v1.3.60) (2023-10-27)
### Improvements:
- support `parent` in sort expressions
## [v1.3.59](https://github.com/ash-project/ash_postgres/compare/v1.3.58...v1.3.59) (2023-10-25)
### Improvements:
- join relationships for aggregate filters
## [v1.3.58](https://github.com/ash-project/ash_postgres/compare/v1.3.57...v1.3.58) (2023-10-24)
### Bug Fixes:
- don't traverse new types for storage type
- properly join to related references in relationship filters
## [v1.3.57](https://github.com/ash-project/ash_postgres/compare/v1.3.56...v1.3.57) (2023-10-17)
### Improvements:
- allow for combining `AshPostgres.Repo` with other repos
## [v1.3.56](https://github.com/ash-project/ash_postgres/compare/v1.3.55...v1.3.56) (2023-10-11)
### Bug Fixes:
- don't raise all errors
## [v1.3.55](https://github.com/ash-project/ash_postgres/compare/v1.3.54...v1.3.55) (2023-10-11)
### Improvements:
- support atomics on upserts
## [v1.3.54](https://github.com/ash-project/ash_postgres/compare/v1.3.53...v1.3.54) (2023-10-10)
### Bug Fixes:
- fix type specification for foreign_key_names
## [v1.3.53](https://github.com/ash-project/ash_postgres/compare/v1.3.52...v1.3.53) (2023-10-10)
### Bug Fixes:
- don't run main query if only `exists` aggs are specified
- subquery aggregate if limit is applied
### Improvements:
- update ash dependency
- support `:ci_string` as a storage_type
- support to-one references in calculations
## [v1.3.52](https://github.com/ash-project/ash_postgres/compare/v1.3.51...v1.3.52) (2023-09-26)
### Bug Fixes:
- use `:wrap_list` type instead of custom validaitons (#167)
### Improvements:
- fix `upsert_fields` behavior for upserts
- support data_layer_context option on transactions
## [v1.3.51](https://github.com/ash-project/ash_postgres/compare/v1.3.50...v1.3.51) (2023-09-20)
### Improvements:
- add `AshPostgres.Tsvector`
- add AshPostgres.Tsquery
- support vector types and `vector_cosine_distance`
## [v1.3.50](https://github.com/ash-project/ash_postgres/compare/v1.3.49...v1.3.50) (2023-09-06)
### Improvements:
- Allow resources to opt out of the primary key requirement. (#166)
## [v1.3.49](https://github.com/ash-project/ash_postgres/compare/v1.3.48...v1.3.49) (2023-09-04)
### Improvements:
- implement ash lifecycle tasks
## [v1.3.48](https://github.com/ash-project/ash_postgres/compare/v1.3.47...v1.3.48) (2023-09-04)
### Improvements:
- better error message for missing table config
## [v1.3.47](https://github.com/ash-project/ash_postgres/compare/v1.3.46...v1.3.47) (2023-08-31)
### Bug Fixes:
- ensure we always select at least one field, and change one field
## [v1.3.46](https://github.com/ash-project/ash_postgres/compare/v1.3.45...v1.3.46) (2023-08-31)
### Bug Fixes:
- use provided values for updates
## [v1.3.45](https://github.com/ash-project/ash_postgres/compare/v1.3.44...v1.3.45) (2023-08-31)
### Bug Fixes:
- don't clobber loaded data on update
## [v1.3.44](https://github.com/ash-project/ash_postgres/compare/v1.3.43...v1.3.44) (2023-08-31)
### Bug Fixes:
- properly handle ensure nsted calls to `get_path` are jsonb
### Improvements:
- support atomics (#165)
## [v1.3.43](https://github.com/ash-project/ash_postgres/compare/v1.3.42...v1.3.43) (2023-08-22)
### Bug Fixes:
- properly provide constraints on all type casting
## [v1.3.42](https://github.com/ash-project/ash_postgres/compare/v1.3.41...v1.3.42) (2023-08-22)
### Bug Fixes:
- support non-atom named aggregates
- handle case where multiple grouped aggregates depend on further aggregates
### Improvements:
- support in-line aggregates
- specify @behaviour in AshPostgres.Type
- add `value_to_postgres_default/3` and `AshPostgres.Type`
- handle non-cast-in-type queries
## [v1.3.41](https://github.com/ash-project/ash_postgres/compare/v1.3.40...v1.3.41) (2023-08-08)
### Bug Fixes:
- handle interaction between distinct, join filters and sort
### Improvements:
- custom-extension implementation (#162)
- custom-extension implementation
- allow adding custom-extension by module's reference and fixes formatting
- support new `from_many?` option
- subquery after distinct to handle distinct
## [v1.3.40](https://github.com/ash-project/ash_postgres/compare/v1.3.39...v1.3.40) (2023-08-01)
### Bug Fixes:
- properly detect optimizable first aggregates
## [v1.3.39](https://github.com/ash-project/ash_postgres/compare/v1.3.38...v1.3.39) (2023-08-01)
### Bug Fixes:
- properly alter deferrability on attribute alter
### Improvements:
- update ash
- handle empty maps in migration defaults automatically
- handle empty lists in migraiton defaults automatically
- apply sort in subqueries properly
- handle `no_attributes?` better in more places
- support the new `parent/1` expr in relationships
- explicitly lock the source row
## [v1.3.38](https://github.com/ash-project/ash_postgres/compare/v1.3.37...v1.3.38) (2023-07-21)
### Bug Fixes:
- un-break aggregates referencing calculations
### Improvements:
- properly handle context for referenced calculations
## [v1.3.37](https://github.com/ash-project/ash_postgres/compare/v1.3.36...v1.3.37) (2023-07-19)
### Improvements:
- support new `distinct_sort` option
## [v1.3.36](https://github.com/ash-project/ash_postgres/compare/v1.3.35...v1.3.36) (2023-07-19)
### Bug Fixes:
- type casting improvements, handle manual relationships in `exists`
- protected names in conflict_target (#158)
## [v1.3.35](https://github.com/ash-project/ash_postgres/compare/v1.3.34...v1.3.35) (2023-07-18)
### Improvements:
- support new `distinct` features from ash core
## [v1.3.34](https://github.com/ash-project/ash_postgres/compare/v1.3.33...v1.3.34) (2023-07-18)
### Improvements:
- support unary `-/1` operator
## [v1.3.33](https://github.com/ash-project/ash_postgres/compare/v1.3.32...v1.3.33) (2023-07-14)
### Bug Fixes:
- convert `Ash.Resource.Aggregate` to `Ash.Query.Aggregate` when adding
### Improvements:
- support `deferrable` option in migration generator
- support `exists` aggregates
## [v1.3.32](https://github.com/ash-project/ash_postgres/compare/v1.3.31...v1.3.32) (2023-07-12)
### Improvements:
- support `at/2` expression
## [v1.3.31](https://github.com/ash-project/ash_postgres/compare/v1.3.30...v1.3.31) (2023-07-12)
### Bug Fixes:
- raise better error on invalid filter values
- Fixes multiple schema identities migrations (#156)
- fix Logger deprecations for elixir 1.15 (#155)
- interpolate table names with `inspect` in generated migrations (#152)
### Improvements:
- better `ash_functions` message
- support `string_split`
- add postgres expressions guide
- add `simple_join_first_aggregates` option
## [v1.3.30](https://github.com/ash-project/ash_postgres/compare/v1.3.29...v1.3.30) (2023-06-06)
### Bug Fixes:
- handle changing custom index names better
- validate custom index names
## [v1.3.29](https://github.com/ash-project/ash_postgres/compare/v1.3.28...v1.3.29) (2023-06-05)
### Bug Fixes:
- properly handle nested aggregate references
## [v1.3.28](https://github.com/ash-project/ash_postgres/compare/v1.3.27...v1.3.28) (2023-05-23)
### Bug Fixes:
- handle raised errors in bulk actions
## [v1.3.27](https://github.com/ash-project/ash_postgres/compare/v1.3.26...v1.3.27) (2023-05-17)
### Improvements:
- raise better errors on conflicting locks
## [v1.3.26](https://github.com/ash-project/ash_postgres/compare/v1.3.25...v1.3.26) (2023-05-16)
### Bug Fixes:
- use proper lock list again
- use proper list of row level locks
- check `changeset.action_type` not `changeset.action.type`
### Improvements:
- support more lock types
## [v1.3.25](https://github.com/ash-project/ash_postgres/compare/v1.3.24...v1.3.25) (2023-05-08)
### Improvements:
- support changeset.filters (for optimistic locking)
## [v1.3.24](https://github.com/ash-project/ash_postgres/compare/v1.3.23...v1.3.24) (2023-05-03)
### Improvements:
- support bulk upserts
## [v1.3.23](https://github.com/ash-project/ash_postgres/compare/v1.3.22...v1.3.23) (2023-05-01)
### Bug Fixes:
- don't incorrectly mark references as primary key references
- go back to old migration sorting algorithm
## [v1.3.22](https://github.com/ash-project/ash_postgres/compare/v1.3.21...v1.3.22) (2023-04-28)
### Improvements:
- support locking
## [v1.3.21](https://github.com/ash-project/ash_postgres/compare/v1.3.20...v1.3.21) (2023-04-27)
### Improvements:
- handle new spark versions better, more explicit snapshots
## [v1.3.20](https://github.com/ash-project/ash_postgres/compare/v1.3.19...v1.3.20) (2023-04-22)
### Bug Fixes:
- subquery aggregates when a distinct is being added
- don't call `.table` on `nil`
- wrap `datetime_add` in parenthesis
- handle primary key changes properly
### Improvements:
- update ash
- don't call `.table` on `nil` `snapshot`
- use digraph for operation ordering
## [v1.3.19](https://github.com/ash-project/ash_postgres/compare/v1.3.18...v1.3.19) (2023-04-07)
### Bug Fixes:
- properly handle newtypes, add test
- honor newtypes when determining migration type
- handle nil ash_functions_version in another place
- handle nil ash_functions_version
### Improvements:
- update ash
## [v1.3.18](https://github.com/ash-project/ash_postgres/compare/v1.3.17...v1.3.18) (2023-03-23)
## [v1.3.17](https://github.com/ash-project/ash_postgres/compare/v1.3.16...v1.3.17) (2023-03-20)
### Bug Fixes:
- properly map `parent` bindings in `exists`
## [v1.3.16](https://github.com/ash-project/ash_postgres/compare/v1.3.15...v1.3.16) (2023-03-03)
### Improvements:
- support new date expressions
## [v1.3.15](https://github.com/ash-project/ash_postgres/compare/v1.3.14...v1.3.15) (2023-02-23)
### Improvements:
- add aggregates used by sorts
## [v1.3.14](https://github.com/ash-project/ash_postgres/compare/v1.3.13...v1.3.14) (2023-02-21)
### Improvements:
- Implement string_join expr (#132)
## [v1.3.13](https://github.com/ash-project/ash_postgres/compare/v1.3.12...v1.3.13) (2023-02-17)
### Bug Fixes:
- don't use `:distinct` when `uniq?` is not `true`
## [v1.3.12](https://github.com/ash-project/ash_postgres/compare/v1.3.11...v1.3.12) (2023-02-16)
### Bug Fixes:
- exclude `order_by` when building aggregates
## [v1.3.11](https://github.com/ash-project/ash_postgres/compare/v1.3.10...v1.3.11) (2023-02-16)
### Bug Fixes:
- properly find migration directories in umbrella apps
- don't double-cast to array for list aggregates
### Improvements:
- significantly optimize aggregate queries
- better type casting for concat operator
## [v1.3.10](https://github.com/ash-project/ash_postgres/compare/v1.3.9...v1.3.10) (2023-02-09)
### Bug Fixes:
- sorting on optimized first aggregates
## [v1.3.9](https://github.com/ash-project/ash_postgres/compare/v1.3.8...v1.3.9) (2023-02-09)
### Bug Fixes:
- do limit/offset outside of query if distinct is required
- load by **order** ascending
### Improvements:
- support new `uniq?` option on count/list aggregates
- optimized `first` aggregates where possible
## [v1.3.8](https://github.com/ash-project/ash_postgres/compare/v1.3.7...v1.3.8) (2023-02-06)
### Bug Fixes:
- Actually use `AshPostgres.Repo` behaviour (#129)
### Improvements:
- authorization filters are now attached by ash core
## [v1.3.7](https://github.com/ash-project/ash_postgres/compare/v1.3.6...v1.3.7) (2023-02-06)
### Bug Fixes:
- Actually use `AshPostgres.Repo` behaviour (#129)
### Improvements:
- authorization filters are now attached by ash core
## [v1.3.6](https://github.com/ash-project/ash_postgres/compare/v1.3.5...v1.3.6) (2023-02-03)
### Bug Fixes:
- properly set next migration name
- override `insert` function for proper ecto interop
### Improvements:
- add `migration_ignore_attributes`
## [v1.3.5](https://github.com/ash-project/ash_postgres/compare/v1.3.4...v1.3.5) (2023-01-29)
### Bug Fixes:
- properly convert to/from ecto, only when necessary
## [v1.3.4](https://github.com/ash-project/ash_postgres/compare/v1.3.3...v1.3.4) (2023-01-28)
### Bug Fixes:
- support latest ecto interop changes in ash core
### Improvements:
- properly cast division to floats for elixir-y behavior
- support for dynamically set repo
- update ash
## [v1.3.3](https://github.com/ash-project/ash_postgres/compare/v1.3.2...v1.3.3) (2023-01-18)
### Improvements:
- update to new docs patterns
## [v1.3.2](https://github.com/ash-project/ash_postgres/compare/v1.3.1...v1.3.2) (2023-01-17)
### Bug Fixes:
- nest subqueries when required for distinct
- replace `{:in, ...}` type with `{:array, ...}`
## [v1.3.1](https://github.com/ash-project/ash_postgres/compare/v1.3.0...v1.3.1) (2023-01-11)
### Bug Fixes:
- allow for non attribute aggregate references for first/list
## [v1.3.0](https://github.com/ash-project/ash_postgres/compare/v1.3.0-rc.4...v1.3.0) (2023-01-11)
### Improvements:
- update to latest ash
## [v1.3.0-rc.4](https://github.com/ash-project/ash_postgres/compare/v1.3.0-rc.3...v1.3.0-rc.4) (2023-01-09)
### Bug Fixes:
- properly join to all required relationships
## [v1.3.0-rc.3](https://github.com/ash-project/ash_postgres/compare/v1.3.0-rc.2...v1.3.0-rc.3) (2023-01-09)
### Bug Fixes:
- properly type cast in fragments (and elsewhere)
## [v1.3.0-rc.2](https://github.com/ash-project/ash_postgres/compare/v1.3.0-rc.1...v1.3.0-rc.2) (2023-01-06)
### Bug Fixes:
- undo changes that caused type casting bugs
## [v1.3.0-rc.1](https://github.com/ash-project/ash_postgres/compare/v1.3.0-rc.0...v1.3.0-rc.1) (2023-01-06)
### Bug Fixes:
- undo changes that caused type casting bugs
## [v1.3.0-rc.1](https://github.com/ash-project/ash_postgres/compare/v1.3.0-rc.0...v1.3.0-rc.1) (2023-01-06)
### Bug Fixes:
- use `parent_expr` instead of `this`
- various expression & type building fixes
## [v1.3.0-rc.0](https://github.com/ash-project/ash_postgres/compare/v1.2.6...v1.3.0-rc.0) (2023-01-04)
### Features:
- support latest ash
### Bug Fixes:
- honor calculation constraints
- handle lists with expressions inside
### Improvements:
- support calc constraints
- support new `cast_in_query?/2`
- support calculations as aggregate targets
## [v1.2.6](https://github.com/ash-project/ash_postgres/compare/v1.2.5...v1.2.6) (2022-12-27)
### Bug Fixes:
- properly set `migrations_path` default in umbrellas
- don't subquery unless we have to
## [v1.2.5](https://github.com/ash-project/ash_postgres/compare/v1.2.4...v1.2.5) (2022-12-21)
### Bug Fixes:
- don't group aggregates that reference relationships in their filters
- properly skip unique indexes when configured
### Improvements:
- add like and ilike
## [v1.2.4](https://github.com/ash-project/ash_postgres/compare/v1.2.3...v1.2.4) (2022-12-18)
### Bug Fixes:
- properly add aggregates to query when referenced from calculations
### Improvements:
- distinct on source of query, not relationship destination
## [v1.2.3](https://github.com/ash-project/ash_postgres/compare/v1.2.2...v1.2.3) (2022-12-15)
### Bug Fixes:
- properly combine sort + to many join filter
## [v1.2.2](https://github.com/ash-project/ash_postgres/compare/v1.2.1...v1.2.2) (2022-12-15)
### Improvements:
- udpate to latest ash, fix array issues
## [v1.2.1](https://github.com/ash-project/ash_postgres/compare/v1.2.0...v1.2.1) (2022-12-13)
### Bug Fixes:
- pattern match error in `lazy_non_matching_defaults/1`
- use attribute name not attribute for default funs
- _actually_ fix `default_fun` upserts
- fix upserting update_defaults
## [v1.2.0](https://github.com/ash-project/ash_postgres/compare/v1.2.0-rc.1...v1.2.0) (2022-12-13)
### Bug Fixes:
- make migration generator work better for umbrellas
## [v1.2.0-rc.1](https://github.com/ash-project/ash_postgres/compare/v1.2.0-rc.0...v1.2.0-rc.1) (2022-12-10)
### Bug Fixes:
- don't make migration generation recursive
- nevermind, can't make migrate recursive
### Improvements:
- make migrate task recursive as well
- mark generate_migrations as recursive for umbrellas
## [v1.2.0-rc.0](https://github.com/ash-project/ash_postgres/compare/v1.1.3...v1.2.0-rc.0) (2022-12-10)
### Features:
- avg/min/max/custom aggregate support
### Bug Fixes:
- various broken behavior from new aggregate work
- forgot a
- fix various problems with the model behind aggregates
- properly set binding names for many to many join filters
### Improvements:
- better error messages from mix tasks
- validate that references refer to relationships
- avg/min/max/custom aggregate support
- upgrade and depend on ash version
- fix lateral many to many joins
- inform users about postgres incompatibility with multidimensional arrays
## [v1.1.3](https://github.com/ash-project/ash_postgres/compare/v1.1.2...v1.1.3) (2022-12-01)
### Bug Fixes:
- properly turn custom index keys into atoms
### Improvements:
- update ash, add test for transaction hooks
- support new transaction info with hooks
- add unique constraints to changeset for custom unique indexes
- separate out concurrent index creations and do them in a separate transaction
## [v1.1.2](https://github.com/ash-project/ash_postgres/compare/v1.1.1...v1.1.2) (2022-11-21)
### Bug Fixes:
- don't use hard-coded join assoc name (#118)
### Improvements:
- add `migration_defaults` for customizing default values
## [v1.1.1](https://github.com/ash-project/ash_postgres/compare/v1.1.0...v1.1.1) (2022-10-25)
### Bug Fixes:
- && operator in expressions to point to ash_elixir_and (#115)
### Improvements:
- add check for unsupported expression
## [v1.1.0](https://github.com/ash-project/ash_postgres/compare/v1.0.0...v1.1.0) (2022-10-20)
### Features:
- support `now()` in latest Ash
## [v1.0.0](https://github.com/ash-project/ash_postgres/compare/v0.43.0...v1.0.0) (2022-10-17)
### Bug Fixes:
- no unnecessary type cast on count/sum aggregates
- don't apply `filter` to `array_agg`
### Improvements:
- update to Ash 2.0
- handle UUID types better
- set lateral join source for latest ash
- use `prepend?: true` option when applying relationship sorts
## [v1.0.0-rc.9](https://github.com/ash-project/ash_postgres/compare/v1.0.0-rc.8...v1.0.0-rc.9) (2022-10-07)
### Bug Fixes:
- handle custom calculation selects properly
- use attribute source for identity fields
### Improvements:
- update to the latest ash
- remove the need to dynamically expand fragments
- when casting string to uuid, dump to binary
- update to latest ash
## [v1.0.0-rc.8](https://github.com/ash-project/ash_postgres/compare/v1.0.0-rc.7...v1.0.0-rc.8) (2022-09-29)
### Bug Fixes:
- never attempt to group custom operations
- wrap case statement in parens
### Improvements:
- `exists` filters necessitate multiple aggregate joins (for now)
## [v1.0.0-rc.7](https://github.com/ash-project/ash_postgres/compare/v1.0.0-rc.6...v1.0.0-rc.7) (2022-09-28)
### Bug Fixes:
- properly type cast top level fragments
### Improvements:
- update to the latest ash
- upgrade to new `exists` usage
## [v1.0.0-rc.6](https://github.com/ash-project/ash_postgres/compare/v1.0.0-rc.5...v1.0.0-rc.6) (2022-09-21)
### Improvements:
- support latest ash
## [v1.0.0-rc.5](https://github.com/ash-project/ash_postgres/compare/v1.0.0-rc.4...v1.0.0-rc.5) (2022-09-15)
### Improvements:
- update to latest ash
- implement Length function (#111)
- upgrade to latest ash
## [v1.0.0-rc.4](https://github.com/ash-project/ash_postgres/compare/v1.0.0-rc.3...v1.0.0-rc.4) (2022-09-14)
### Improvements:
- support latest ash
- support manual relationships with joins
## [v1.0.0-rc.3](https://github.com/ash-project/ash_postgres/compare/v1.0.0-rc.2...v1.0.0-rc.3) (2022-09-12)
### Bug Fixes:
- keep unique index keys in order in migrations
## [v1.0.0-rc.2](https://github.com/ash-project/ash_postgres/compare/v1.0.0-rc.1...v1.0.0-rc.2) (2022-09-06)
### Improvements:
- support latest ash `exists/2` expr
## [v1.0.0-rc.1](https://github.com/ash-project/ash_postgres/compare/v1.0.0-rc.0...v1.0.0-rc.1) (2022-09-04)
## [v0.43.0](https://github.com/ash-project/ash_postgres/compare/v0.42.0-rc.7...v0.43.0) (2022-08-05)
### Bug Fixes:
- properly order check constraints
- remove check constraints before adding them
### Improvements:
- fix typecasting for calculations & embed access
- add custom_statements to migration generator
- support `||` and `&&`
## [v0.42.0-rc.7](https://github.com/ash-project/ash_postgres/compare/v0.42.0-rc.6...v0.42.0-rc.7) (2022-07-14)
### Features:
- support `cast_in_query?/0` and `source`
### Bug Fixes:
- use new doc_index patterns
- support upsert_identity with base_filter
- support upsert_identity with base filters
- handle various join bugs
- use attribute.name if attribute.source is nil
- set attribute source properly
- ensure source is always set on attributes in snapshots
- handle paths for aggregates w/ > 2 relationships
- rename attributes correctly in down migration (#98)
- don't generate modify commands for attributes due to schema changes
- default schema to primary schema
- test and confirm behavior of schemas
- use correct bindings for filtered relationships
- cast calcs in query expressions
- explicitly type cast aggregate/calc selects
- don't try and match reference schema to table schema
- don't use `table` where we should use `schema` in migration generator
- handle combinations of distinct & sort
- ensure all single actions are explicitly marked as primary? (#95)
- only rename schema when necessary
- inspect un-defaultable value in error message
- select custom aggregates properly
- don't add reference when renaming column if unnecessary
- don't cast `nil` to `""`
- `!is_atom/1` -> `!is_boolean/1`
- sanitize lists to stringify atoms
- cast embedded atoms to strings first
- don't cast `{:in, :any}` types
- more don't cast any types
- don't cast if there is no type
- properly handle relationship filter bindings
- don't consider fields changed with only source -> name changes
- handle name -> source change in more places
- handle name -> source rename in operation ordering
- fix aggregate/base filters
- don't select more fields than necessary
- don't call `ecto_type` twice when resolving types
- place expressions in the proper order in selects
- match on count in expr
- remove incorrect param count tracking
- properly track param count
- properly reverse parameters before/after expansion
- don't use the base ecto type
- don't sort when joining
- ensure repo is compiled (#80)
- properly construct nested join relationships
- use `CiStringWrapper` type in ash_postgres
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- add default guide, and empty ash postgres guide
- set `update_defaults` on upsert results
- handle fallback ecto migration default elegantly (#94)
- add `ignore?` option to `references`
- check_migrations, rename to `--check`
- add explicit timeout capability declaration
- add static schema specification in DSL
- support static schema specification in migration generator
- implement decimal ecto migration default (#91)
- support float as Ecto migration default (#89)
- update ecto
- add atom impl for `EctoMigrationDefault`
- Add EctoMigrationDefault protocol and implement defaults (#87)
- update ecto, fix dialyzer
- support new timeouts
- make select unique before running query
- add doc_index
- add exclusion_constraint_names (#83)
- support referencing aggregates from aggregate filters
- support access syntax
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.42.0-rc.6](https://github.com/ash-project/ash_postgres/compare/v0.42.0-rc.5...v0.42.0-rc.6) (2022-07-10)
### Features:
- support `cast_in_query?/0` and `source`
### Bug Fixes:
- use new doc_index patterns
- support upsert_identity with base_filter
- support upsert_identity with base filters
- handle various join bugs
- use attribute.name if attribute.source is nil
- set attribute source properly
- ensure source is always set on attributes in snapshots
- handle paths for aggregates w/ > 2 relationships
- rename attributes correctly in down migration (#98)
- don't generate modify commands for attributes due to schema changes
- default schema to primary schema
- test and confirm behavior of schemas
- use correct bindings for filtered relationships
- cast calcs in query expressions
- explicitly type cast aggregate/calc selects
- don't try and match reference schema to table schema
- don't use `table` where we should use `schema` in migration generator
- handle combinations of distinct & sort
- ensure all single actions are explicitly marked as primary? (#95)
- only rename schema when necessary
- inspect un-defaultable value in error message
- select custom aggregates properly
- don't add reference when renaming column if unnecessary
- don't cast `nil` to `""`
- `!is_atom/1` -> `!is_boolean/1`
- sanitize lists to stringify atoms
- cast embedded atoms to strings first
- don't cast `{:in, :any}` types
- more don't cast any types
- don't cast if there is no type
- properly handle relationship filter bindings
- don't consider fields changed with only source -> name changes
- handle name -> source change in more places
- handle name -> source rename in operation ordering
- fix aggregate/base filters
- don't select more fields than necessary
- don't call `ecto_type` twice when resolving types
- place expressions in the proper order in selects
- match on count in expr
- remove incorrect param count tracking
- properly track param count
- properly reverse parameters before/after expansion
- don't use the base ecto type
- don't sort when joining
- ensure repo is compiled (#80)
- properly construct nested join relationships
- use `CiStringWrapper` type in ash_postgres
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- set `update_defaults` on upsert results
- handle fallback ecto migration default elegantly (#94)
- add `ignore?` option to `references`
- check_migrations, rename to `--check`
- add explicit timeout capability declaration
- add static schema specification in DSL
- support static schema specification in migration generator
- implement decimal ecto migration default (#91)
- support float as Ecto migration default (#89)
- update ecto
- add atom impl for `EctoMigrationDefault`
- Add EctoMigrationDefault protocol and implement defaults (#87)
- update ecto, fix dialyzer
- support new timeouts
- make select unique before running query
- add doc_index
- add exclusion_constraint_names (#83)
- support referencing aggregates from aggregate filters
- support access syntax
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.42.0-rc.5](https://github.com/ash-project/ash_postgres/compare/v0.42.0-rc.4...v0.42.0-rc.5) (2022-07-06)
### Features:
- support `cast_in_query?/0` and `source`
### Bug Fixes:
- support upsert_identity with base_filter
- support upsert_identity with base filters
- handle various join bugs
- use attribute.name if attribute.source is nil
- set attribute source properly
- ensure source is always set on attributes in snapshots
- handle paths for aggregates w/ > 2 relationships
- rename attributes correctly in down migration (#98)
- don't generate modify commands for attributes due to schema changes
- default schema to primary schema
- test and confirm behavior of schemas
- use correct bindings for filtered relationships
- cast calcs in query expressions
- explicitly type cast aggregate/calc selects
- don't try and match reference schema to table schema
- don't use `table` where we should use `schema` in migration generator
- handle combinations of distinct & sort
- ensure all single actions are explicitly marked as primary? (#95)
- only rename schema when necessary
- inspect un-defaultable value in error message
- select custom aggregates properly
- don't add reference when renaming column if unnecessary
- don't cast `nil` to `""`
- `!is_atom/1` -> `!is_boolean/1`
- sanitize lists to stringify atoms
- cast embedded atoms to strings first
- don't cast `{:in, :any}` types
- more don't cast any types
- don't cast if there is no type
- properly handle relationship filter bindings
- don't consider fields changed with only source -> name changes
- handle name -> source change in more places
- handle name -> source rename in operation ordering
- fix aggregate/base filters
- don't select more fields than necessary
- don't call `ecto_type` twice when resolving types
- place expressions in the proper order in selects
- match on count in expr
- remove incorrect param count tracking
- properly track param count
- properly reverse parameters before/after expansion
- don't use the base ecto type
- don't sort when joining
- ensure repo is compiled (#80)
- properly construct nested join relationships
- use `CiStringWrapper` type in ash_postgres
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- set `update_defaults` on upsert results. For most users, this means that where previously `updated_at` would not get set on an upsert that ultimately resulted in an update, it will now.
- handle fallback ecto migration default elegantly (#94)
- add `ignore?` option to `references`
- check_migrations, rename to `--check`
- add explicit timeout capability declaration
- add static schema specification in DSL
- support static schema specification in migration generator
- implement decimal ecto migration default (#91)
- support float as Ecto migration default (#89)
- update ecto
- add atom impl for `EctoMigrationDefault`
- Add EctoMigrationDefault protocol and implement defaults (#87)
- update ecto, fix dialyzer
- support new timeouts
- make select unique before running query
- add doc_index
- add exclusion_constraint_names (#83)
- support referencing aggregates from aggregate filters
- support access syntax
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.42.0-rc.4](https://github.com/ash-project/ash_postgres/compare/v0.42.0-rc.3...v0.42.0-rc.4) (2022-06-28)
### Features:
- support `cast_in_query?/0` and `source`
### Bug Fixes:
- use attribute.name if attribute.source is nil
- set attribute source properly
- ensure source is always set on attributes in snapshots
- handle paths for aggregates w/ > 2 relationships
- rename attributes correctly in down migration (#98)
- don't generate modify commands for attributes due to schema changes
- default schema to primary schema
- test and confirm behavior of schemas
- use correct bindings for filtered relationships
- cast calcs in query expressions
- explicitly type cast aggregate/calc selects
- don't try and match reference schema to table schema
- don't use `table` where we should use `schema` in migration generator
- handle combinations of distinct & sort
- ensure all single actions are explicitly marked as primary? (#95)
- only rename schema when necessary
- inspect un-defaultable value in error message
- select custom aggregates properly
- don't add reference when renaming column if unnecessary
- don't cast `nil` to `""`
- `!is_atom/1` -> `!is_boolean/1`
- sanitize lists to stringify atoms
- cast embedded atoms to strings first
- don't cast `{:in, :any}` types
- more don't cast any types
- don't cast if there is no type
- properly handle relationship filter bindings
- don't consider fields changed with only source -> name changes
- handle name -> source change in more places
- handle name -> source rename in operation ordering
- fix aggregate/base filters
- don't select more fields than necessary
- don't call `ecto_type` twice when resolving types
- place expressions in the proper order in selects
- match on count in expr
- remove incorrect param count tracking
- properly track param count
- properly reverse parameters before/after expansion
- don't use the base ecto type
- don't sort when joining
- ensure repo is compiled (#80)
- properly construct nested join relationships
- use `CiStringWrapper` type in ash_postgres
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- handle fallback ecto migration default elegantly (#94)
- add `ignore?` option to `references`
- check_migrations, rename to `--check`
- add explicit timeout capability declaration
- add static schema specification in DSL
- support static schema specification in migration generator
- implement decimal ecto migration default (#91)
- support float as Ecto migration default (#89)
- update ecto
- add atom impl for `EctoMigrationDefault`
- Add EctoMigrationDefault protocol and implement defaults (#87)
- update ecto, fix dialyzer
- support new timeouts
- make select unique before running query
- add doc_index
- add exclusion_constraint_names (#83)
- support referencing aggregates from aggregate filters
- support access syntax
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.42.0-rc.3](https://github.com/ash-project/ash_postgres/compare/v0.42.0-rc.2...v0.42.0-rc.3) (2022-06-28)
### Features:
- support `cast_in_query?/0` and `source`
### Bug Fixes:
- set attribute source properly
- ensure source is always set on attributes in snapshots
- handle paths for aggregates w/ > 2 relationships
- rename attributes correctly in down migration (#98)
- don't generate modify commands for attributes due to schema changes
- default schema to primary schema
- test and confirm behavior of schemas
- use correct bindings for filtered relationships
- cast calcs in query expressions
- explicitly type cast aggregate/calc selects
- don't try and match reference schema to table schema
- don't use `table` where we should use `schema` in migration generator
- handle combinations of distinct & sort
- ensure all single actions are explicitly marked as primary? (#95)
- only rename schema when necessary
- inspect un-defaultable value in error message
- select custom aggregates properly
- don't add reference when renaming column if unnecessary
- don't cast `nil` to `""`
- `!is_atom/1` -> `!is_boolean/1`
- sanitize lists to stringify atoms
- cast embedded atoms to strings first
- don't cast `{:in, :any}` types
- more don't cast any types
- don't cast if there is no type
- properly handle relationship filter bindings
- don't consider fields changed with only source -> name changes
- handle name -> source change in more places
- handle name -> source rename in operation ordering
- fix aggregate/base filters
- don't select more fields than necessary
- don't call `ecto_type` twice when resolving types
- place expressions in the proper order in selects
- match on count in expr
- remove incorrect param count tracking
- properly track param count
- properly reverse parameters before/after expansion
- don't use the base ecto type
- don't sort when joining
- ensure repo is compiled (#80)
- properly construct nested join relationships
- use `CiStringWrapper` type in ash_postgres
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- handle fallback ecto migration default elegantly (#94)
- add `ignore?` option to `references`
- check_migrations, rename to `--check`
- add explicit timeout capability declaration
- add static schema specification in DSL
- support static schema specification in migration generator
- implement decimal ecto migration default (#91)
- support float as Ecto migration default (#89)
- update ecto
- add atom impl for `EctoMigrationDefault`
- Add EctoMigrationDefault protocol and implement defaults (#87)
- update ecto, fix dialyzer
- support new timeouts
- make select unique before running query
- add doc_index
- add exclusion_constraint_names (#83)
- support referencing aggregates from aggregate filters
- support access syntax
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.42.0-rc.2](https://github.com/ash-project/ash_postgres/compare/v0.42.0-rc.1...v0.42.0-rc.2) (2022-05-18)
### Features:
- support `cast_in_query?/0` and `source`
### Bug Fixes:
- don't try and match reference schema to table schema
- don't use `table` where we should use `schema` in migration generator
- handle combinations of distinct & sort
- ensure all single actions are explicitly marked as primary? (#95)
- only rename schema when necessary
- inspect un-defaultable value in error message
- select custom aggregates properly
- don't add reference when renaming column if unnecessary
- don't cast `nil` to `""`
- `!is_atom/1` -> `!is_boolean/1`
- sanitize lists to stringify atoms
- cast embedded atoms to strings first
- don't cast `{:in, :any}` types
- more don't cast any types
- don't cast if there is no type
- properly handle relationship filter bindings
- don't consider fields changed with only source -> name changes
- handle name -> source change in more places
- handle name -> source rename in operation ordering
- fix aggregate/base filters
- don't select more fields than necessary
- don't call `ecto_type` twice when resolving types
- place expressions in the proper order in selects
- match on count in expr
- remove incorrect param count tracking
- properly track param count
- properly reverse parameters before/after expansion
- don't use the base ecto type
- don't sort when joining
- ensure repo is compiled (#80)
- properly construct nested join relationships
- use `CiStringWrapper` type in ash_postgres
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- check_migrations, rename to `--check`
- add explicit timeout capability declaration
- add static schema specification in DSL
- support static schema specification in migration generator
- implement decimal ecto migration default (#91)
- support float as Ecto migration default (#89)
- update ecto
- add atom impl for `EctoMigrationDefault`
- Add EctoMigrationDefault protocol and implement defaults (#87)
- update ecto, fix dialyzer
- support new timeouts
- make select unique before running query
- add doc_index
- add exclusion_constraint_names (#83)
- support referencing aggregates from aggregate filters
- support access syntax
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.42.0-rc.1](https://github.com/ash-project/ash_postgres/compare/v0.42.0-rc.0...v0.42.0-rc.1) (2022-05-18)
### Features:
- support `cast_in_query?/0` and `source`
### Bug Fixes:
- don't use `table` where we should use `schema` in migration generator
- handle combinations of distinct & sort
- ensure all single actions are explicitly marked as primary? (#95)
- only rename schema when necessary
- inspect un-defaultable value in error message
- select custom aggregates properly
- don't add reference when renaming column if unnecessary
- don't cast `nil` to `""`
- `!is_atom/1` -> `!is_boolean/1`
- sanitize lists to stringify atoms
- cast embedded atoms to strings first
- don't cast `{:in, :any}` types
- more don't cast any types
- don't cast if there is no type
- properly handle relationship filter bindings
- don't consider fields changed with only source -> name changes
- handle name -> source change in more places
- handle name -> source rename in operation ordering
- fix aggregate/base filters
- don't select more fields than necessary
- don't call `ecto_type` twice when resolving types
- place expressions in the proper order in selects
- match on count in expr
- remove incorrect param count tracking
- properly track param count
- properly reverse parameters before/after expansion
- don't use the base ecto type
- don't sort when joining
- ensure repo is compiled (#80)
- properly construct nested join relationships
- use `CiStringWrapper` type in ash_postgres
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- check_migrations, rename to `--check`
- add explicit timeout capability declaration
- add static schema specification in DSL
- support static schema specification in migration generator
- implement decimal ecto migration default (#91)
- support float as Ecto migration default (#89)
- update ecto
- add atom impl for `EctoMigrationDefault`
- Add EctoMigrationDefault protocol and implement defaults (#87)
- update ecto, fix dialyzer
- support new timeouts
- make select unique before running query
- add doc_index
- add exclusion_constraint_names (#83)
- support referencing aggregates from aggregate filters
- support access syntax
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.42.0-rc.0](https://github.com/ash-project/ash_postgres/compare/v0.41.7...v0.42.0-rc.0) (2022-04-26)
### Features:
- support `cast_in_query?/0` and `source`
### Bug Fixes:
- select custom aggregates properly
- don't add reference when renaming column if unnecessary
- don't cast `nil` to `""`
- `!is_atom/1` -> `!is_boolean/1`
- sanitize lists to stringify atoms
- cast embedded atoms to strings first
- don't cast `{:in, :any}` types
- more don't cast any types
- don't cast if there is no type
- properly handle relationship filter bindings
- don't consider fields changed with only source -> name changes
- handle name -> source change in more places
- handle name -> source rename in operation ordering
- fix aggregate/base filters
- don't select more fields than necessary
- don't call `ecto_type` twice when resolving types
- place expressions in the proper order in selects
- match on count in expr
- remove incorrect param count tracking
- properly track param count
- properly reverse parameters before/after expansion
- don't use the base ecto type
- don't sort when joining
- ensure repo is compiled (#80)
- properly construct nested join relationships
- use `CiStringWrapper` type in ash_postgres
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- update ecto
- add atom impl for `EctoMigrationDefault`
- Add EctoMigrationDefault protocol and implement defaults (#87)
- update ecto, fix dialyzer
- support new timeouts
- make select unique before running query
- add doc_index
- add exclusion_constraint_names (#83)
- support referencing aggregates from aggregate filters
- support access syntax
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.41.7](https://github.com/ash-project/ash_postgres/compare/v0.41.6...v0.41.7) (2021-12-21)
### Bug Fixes:
- ensure repo is compiled (#80)
- properly construct nested join relationships
- use `CiStringWrapper` type in ash_postgres
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.41.6](https://github.com/ash-project/ash_postgres/compare/v0.41.5...v0.41.6) (2021-12-21)
### Bug Fixes:
- properly construct nested join relationships
- use `CiStringWrapper` type in ash_postgres
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.41.5](https://github.com/ash-project/ash_postgres/compare/v0.41.4...v0.41.5) (2021-11-26)
### Bug Fixes:
- ensure we are returning \* on upserts (#79)
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.41.4](https://github.com/ash-project/ash_postgres/compare/v0.41.3...v0.41.4) (2021-11-25)
### Bug Fixes:
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- don't upsert defaults on conflict (#77)
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.41.3](https://github.com/ash-project/ash_postgres/compare/v0.41.2...v0.41.3) (2021-11-13)
### Bug Fixes:
- handle new if types
- copy query prefix to newly created query (#74)
### Improvements:
- relax ash version requirement
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.41.2](https://github.com/ash-project/ash_postgres/compare/v0.41.1...v0.41.2) (2021-11-10)
### Bug Fixes:
- copy query prefix to newly created query (#74)
### Improvements:
- add custom migration types, and repo level override
- update to latest version of ash
## [v0.41.1](https://github.com/ash-project/ash_postgres/compare/v0.41.0-rc.9...v0.41.1) (2021-11-03)
### Bug Fixes:
- copy query prefix to newly created query (#74)
### Improvements:
- update to latest version of ash
## [v0.41.0-rc.9](https://github.com/ash-project/ash_postgres/compare/v0.41.0-rc.8...v0.41.0-rc.9) (2021-11-01)
### Bug Fixes:
- use proper ecto types everywhere
- try to fix missing paren issue in array_agg
- fix can? for :joins (#73)
- remove unused default value
- use proper identity names for polymorphic resources
- set identity names propertly for polymorphic resources
- handle nil values in snapshots better
- remove unused field from snapshot parsing
### Improvements:
- support `default` on aggregates
- support `custom_indexes`
## [v0.41.0-rc.8](https://github.com/ash-project/ash_postgres/compare/v0.41.0-rc.7...v0.41.0-rc.8) (2021-10-25)
### Bug Fixes:
- fix can? for :joins (#73)
- remove unused default value
- use proper identity names for polymorphic resources
- set identity names propertly for polymorphic resources
- handle nil values in snapshots better
- remove unused field from snapshot parsing
### Improvements:
- support `default` on aggregates
- support `custom_indexes`
## [v0.41.0-rc.7](https://github.com/ash-project/ash_postgres/compare/v0.41.0-rc.6...v0.41.0-rc.7) (2021-10-24)
### Bug Fixes:
- fix can? for :joins (#73)
- remove unused default value
- use proper identity names for polymorphic resources
- set identity names propertly for polymorphic resources
- handle nil values in snapshots better
- remove unused field from snapshot parsing
### Improvements:
- support `custom_indexes`
## [v0.41.0-rc.6](https://github.com/ash-project/ash_postgres/compare/v0.41.0-rc.5...v0.41.0-rc.6) (2021-09-26)
### Bug Fixes:
- remove unused default value
- use proper identity names for polymorphic resources
- set identity names propertly for polymorphic resources
- handle nil values in snapshots better
- remove unused field from snapshot parsing
### Improvements:
- support `custom_indexes`
## [v0.41.0-rc.5](https://github.com/ash-project/ash_postgres/compare/v0.41.0-rc.4...v0.41.0-rc.5) (2021-09-21)
### Bug Fixes:
- use proper identity names for polymorphic resources
- set identity names propertly for polymorphic resources
- handle nil values in snapshots better
- remove unused field from snapshot parsing
### Improvements:
- support `custom_indexes`
## [v0.41.0-rc.4](https://github.com/ash-project/ash_postgres/compare/v0.41.0-rc.3...v0.41.0-rc.4) (2021-09-21)
### Bug Fixes:
- set identity names propertly for polymorphic resources
- handle nil values in snapshots better
- remove unused field from snapshot parsing
### Improvements:
- support `custom_indexes`
## [v0.41.0-rc.3](https://github.com/ash-project/ash_postgres/compare/v0.41.0-rc.2...v0.41.0-rc.3) (2021-09-21)
### Bug Fixes:
- handle nil values in snapshots better
- remove unused field from snapshot parsing
### Improvements:
- support `custom_indexes`
## [v0.41.0-rc.2](https://github.com/ash-project/ash_postgres/compare/v0.41.0-rc.1...v0.41.0-rc.2) (2021-09-21)
### Bug Fixes:
- remove unused field from snapshot parsing
### Improvements:
- support `custom_indexes`
## [v0.41.0-rc.1](https://github.com/ash-project/ash_postgres/compare/v0.41.0-rc.0...v0.41.0-rc.1) (2021-09-20)
### Improvements:
- support `custom_indexes`
## [v0.41.0-rc.0](https://github.com/ash-project/ash_postgres/compare/v0.40.11...v0.41.0-rc.0) (2021-09-13)
### Breaking Changes:
- update to latest ash/ecto versions w/ parameterized types
### Improvements:
- Support default tenant migration path in releases (#69)
## [v0.40.11](https://github.com/ash-project/ash_postgres/compare/v0.40.10...v0.40.11) (2021-07-28)
### Bug Fixes:
- set subquery prefix properly
## [v0.40.10](https://github.com/ash-project/ash_postgres/compare/v0.40.9...v0.40.10) (2021-07-27)
### Bug Fixes:
- set subquery source correctly
- create parameter for ci strings
- explicitly set prefix at each level
- interaction w/ attribute and context tenancy
### Improvements:
- info on migration generator output
- use match: :full on attr multitenancy
- update to latest ash
- update to latest ash
- upgrade ash dep
## [v0.40.9](https://github.com/ash-project/ash_postgres/compare/v0.40.8...v0.40.9) (2021-07-22)
### Bug Fixes:
- don't add a non-list to a list
### Improvements:
- add sort + select test
## [v0.40.8](https://github.com/ash-project/ash_postgres/compare/v0.40.7...v0.40.8) (2021-07-19)
### Bug Fixes:
- ensure source table is sorted in lateral join
### Improvements:
- fix significant performance issue in lateral joins
## [v0.40.7](https://github.com/ash-project/ash_postgres/compare/v0.40.6...v0.40.7) (2021-07-12)
### Improvements:
- support default_prefix configuration
## [v0.40.6](https://github.com/ash-project/ash_postgres/compare/v0.40.5...v0.40.6) (2021-07-08)
### Bug Fixes:
- fix migrator mix tasks w/ only/except tenants
- drop foreign keys after table create properly
- drop foreign keys before dropping table
- left_lateral_join for many_to_many aggregates
- properly reference nested aggregate fields for join
- properly determine fallback table for polymorphic resources
- ensure non-tenant resources can be aggregates
- properly set aggregate query sources
- retain parent as bindings
- don't add `rel_source` at all
- properly build atoms list
- horribly hack ecto for dynamic bindings
- properly coalesce aggregate values
- always add nullability flag
- sort references only after other same-table ops
- generate multitenant foreign keys properly
### Improvements:
- `--name` when generating migrations
- add `mix ash_postgres.rollback`
- update to latest ash
- update to latest ash
- leverage new `private_vars` for errs
## [v0.40.5](https://github.com/ash-project/ash_postgres/compare/v0.40.4...v0.40.5) (2021-07-08)
### Bug Fixes:
- fix migrator mix tasks w/ only/except tenants
- drop foreign keys after table create properly
- drop foreign keys before dropping table
- left_lateral_join for many_to_many aggregates
- properly reference nested aggregate fields for join
- properly determine fallback table for polymorphic resources
- ensure non-tenant resources can be aggregates
- properly set aggregate query sources
- retain parent as bindings
- don't add `rel_source` at all
- properly build atoms list
- horribly hack ecto for dynamic bindings
- properly coalesce aggregate values
- always add nullability flag
- sort references only after other same-table ops
- generate multitenant foreign keys properly
### Improvements:
- add `mix ash_postgres.rollback`
- update to latest ash
- update to latest ash
- leverage new `private_vars` for errs
## [v0.40.4](https://github.com/ash-project/ash_postgres/compare/v0.40.3...v0.40.4) (2021-07-05)
### Bug Fixes:
- left_lateral_join for many_to_many aggregates
- properly reference nested aggregate fields for join
- properly determine fallback table for polymorphic resources
- ensure non-tenant resources can be aggregates
- properly set aggregate query sources
- retain parent as bindings
- don't add `rel_source` at all
- properly build atoms list
- horribly hack ecto for dynamic bindings
- properly coalesce aggregate values
- always add nullability flag
- sort references only after other same-table ops
- generate multitenant foreign keys properly
### Improvements:
- update to latest ash
- update to latest ash
- leverage new `private_vars` for errs
## [v0.40.3](https://github.com/ash-project/ash_postgres/compare/v0.40.2...v0.40.3) (2021-07-03)
### Bug Fixes:
- ensure non-tenant resources can be aggregates
- properly set aggregate query sources
- retain parent as bindings
- don't add `rel_source` at all
- properly build atoms list
- horribly hack ecto for dynamic bindings
- properly coalesce aggregate values
- always add nullability flag
- sort references only after other same-table ops
- generate multitenant foreign keys properly
### Improvements:
- update to latest ash
- leverage new `private_vars` for errs
## [v0.40.2](https://github.com/ash-project/ash_postgres/compare/v0.40.1...v0.40.2) (2021-07-02)
### Bug Fixes:
- properly set aggregate query sources
- retain parent as bindings
- don't add `rel_source` at all
- properly build atoms list
- horribly hack ecto for dynamic bindings
- properly coalesce aggregate values
- always add nullability flag
- sort references only after other same-table ops
- generate multitenant foreign keys properly
### Improvements:
- update to latest ash
- leverage new `private_vars` for errs
## [v0.40.1](https://github.com/ash-project/ash_postgres/compare/v0.40.0-rc5...v0.40.1) (2021-07-02)
### Bug Fixes:
- properly coalesce aggregate values
- always add nullability flag
- sort references only after other same-table ops
- generate multitenant foreign keys properly
### Improvements:
- update to latest ash
- leverage new `private_vars` for errs
## [v0.40.0-rc5](https://github.com/ash-project/ash_postgres/compare/v0.40.0-rc4...v0.40.0-rc5) (2021-07-01)
### Bug Fixes:
- properly coalesce aggregate values
- always add nullability flag
- sort references only after other same-table ops
- generate multitenant foreign keys properly
### Improvements:
- leverage new `private_vars` for errs
## [v0.40.0-rc4](https://github.com/ash-project/ash_postgres/compare/v0.40.0-rc3...v0.40.0-rc4) (2021-06-23)
### Bug Fixes:
- always add nullability flag
- sort references only after other same-table ops
- generate multitenant foreign keys properly
### Improvements:
- leverage new `private_vars` for errs
## [v0.40.0-rc3](https://github.com/ash-project/ash_postgres/compare/v0.40.0-rc2...v0.40.0-rc3) (2021-06-15)
### Bug Fixes:
- always add nullability flag
- sort references only after other same-table ops
- generate multitenant foreign keys properly
## [v0.40.0-rc2](https://github.com/ash-project/ash_postgres/compare/v0.40.0-rc1...v0.40.0-rc2) (2021-06-08)
### Bug Fixes:
- sort references only after other same-table ops
- generate multitenant foreign keys properly
## [v0.40.0-rc1](https://github.com/ash-project/ash_postgres/compare/v0.40.0-rc.0...v0.40.0-rc1) (2021-06-05)
## [v0.39.0-rc.0](https://github.com/ash-project/ash_postgres/compare/v0.38.11...v0.39.0-rc.0) (2021-06-04)
### Features:
- support expression based calculations
- support concat + if expressions
### Improvements:
- various other improvements
## [v0.38.11](https://github.com/ash-project/ash_postgres/compare/v0.38.10...v0.38.11) (2021-05-23)
### Bug Fixes:
- set prefix to "public" for fkeys to public schema
### Improvements:
- set explicit prefix on join filters
## [v0.38.10](https://github.com/ash-project/ash_postgres/compare/v0.38.9...v0.38.10) (2021-05-19)
### Improvements:
- support new ash upsert specifying targets
- update to latest ash
## [v0.38.9](https://github.com/ash-project/ash_postgres/compare/v0.38.8...v0.38.9) (2021-05-12)
### Bug Fixes:
- properly group many_to_many aggregates
## [v0.38.8](https://github.com/ash-project/ash_postgres/compare/v0.38.7...v0.38.8) (2021-05-09)
### Improvements:
- update to the latest ash version
## [v0.38.7](https://github.com/ash-project/ash_postgres/compare/v0.38.6...v0.38.7) (2021-05-09)
### Improvements:
- support latest ash/filtering on related aggregates
## [v0.38.6](https://github.com/ash-project/ash_postgres/compare/v0.38.5...v0.38.6) (2021-05-07)
### Bug Fixes:
- properly construct sources for lateral joins
- copy the correct data for lateral join queries
- better errors in error cases
### Improvements:
- update to latest ash
## [v0.38.5](https://github.com/ash-project/ash_postgres/compare/v0.38.4...v0.38.5) (2021-05-07)
### Bug Fixes:
- don't cast booleans to string in last_ditch_cast
## [v0.38.4](https://github.com/ash-project/ash_postgres/compare/v0.38.3...v0.38.4) (2021-05-07)
### Improvements:
- support latest ash version resource sorts
## [v0.38.3](https://github.com/ash-project/ash_postgres/compare/v0.38.2...v0.38.3) (2021-05-06)
### Improvements:
- update to latest ash
- document script to iterate migrations (#65)
## [v0.38.2](https://github.com/ash-project/ash_postgres/compare/v0.38.1...v0.38.2) (2021-05-04)
### Bug Fixes:
- join to join table in lateral join query
- multitenancy + lateral join sources
- don't distinct in lateral joins
## [v0.38.1](https://github.com/ash-project/ash_postgres/compare/v0.38.0...v0.38.1) (2021-05-04)
### Bug Fixes:
- fix fragment processing broken (#64)
## [v0.38.0](https://github.com/ash-project/ash_postgres/compare/v0.37.8...v0.38.0) (2021-04-29)
### Features:
- support new side load improvements
### Improvements:
- Preserve attribute order (#63)
## [v0.37.8](https://github.com/ash-project/ash_postgres/compare/v0.37.7...v0.37.8) (2021-04-27)
### Bug Fixes:
- simpler index names
- don't prefix unique indices with prefix()
- sort index operations last
### Improvements:
- custom index names
## [v0.37.7](https://github.com/ash-project/ash_postgres/compare/v0.37.6...v0.37.7) (2021-04-27)
### Bug Fixes:
- remove inspects that were left in by accident
## [v0.37.6](https://github.com/ash-project/ash_postgres/compare/v0.37.5...v0.37.6) (2021-04-27)
### Bug Fixes:
- type cast atoms to strings in last ditch cast
- properly type cast
- Remove duplicate file extension (#60)
## [v0.37.5](https://github.com/ash-project/ash_postgres/compare/v0.37.4...v0.37.5) (2021-04-27)
### Bug Fixes:
- properly type cast
## [v0.37.4](https://github.com/ash-project/ash_postgres/compare/v0.37.3...v0.37.4) (2021-04-26)
### Improvements:
- support `list` aggregate
## [v0.37.3](https://github.com/ash-project/ash_postgres/compare/v0.37.2...v0.37.3) (2021-04-26)
### Bug Fixes:
- stringify struct defaults in migration generator
- properly comment out extension uninstallation code
## [v0.37.2](https://github.com/ash-project/ash_postgres/compare/v0.37.1...v0.37.2) (2021-04-21)
### Improvements:
- support ash enums
## [v0.37.1](https://github.com/ash-project/ash_postgres/compare/v0.37.0...v0.37.1) (2021-04-19)
### Bug Fixes:
- include type in references (because it is _not_ automatic)
## [v0.37.0](https://github.com/ash-project/ash_postgres/compare/v0.36.5...v0.37.0) (2021-04-19)
### Features:
- add check_constraints, both for validation and migrations
## [v0.36.5](https://github.com/ash-project/ash_postgres/compare/v0.36.4...v0.36.5) (2021-04-13)
### Bug Fixes:
- always drop constraints before modifying
- properly compare old references and new references
## [v0.36.4](https://github.com/ash-project/ash_postgres/compare/v0.36.3...v0.36.4) (2021-04-12)
### Bug Fixes:
- don't explicitly set type in `references`
### Improvements:
- default integers to `:bigint`
## [v0.36.3](https://github.com/ash-project/ash_postgres/compare/v0.36.2...v0.36.3) (2021-04-12)
### Improvements:
- primary autoincrement key as bigserial (#54)
## [v0.36.2](https://github.com/ash-project/ash_postgres/compare/v0.36.1...v0.36.2) (2021-04-09)
### Improvements:
- support new ash select feature
## [v0.36.1](https://github.com/ash-project/ash_postgres/compare/v0.36.0...v0.36.1) (2021-04-04)
### Bug Fixes:
- raise when `all_tenants/0` default impl is called
### Improvements:
- add sum aggregate (#53)
## [v0.36.0](https://github.com/ash-project/ash_postgres/compare/v0.35.5...v0.36.0) (2021-04-01)
### Features:
- support configuring references
- support configuring polymorphic references
- support `distinct` Ash queries
## [v0.35.5](https://github.com/ash-project/ash_postgres/compare/v0.35.4...v0.35.5) (2021-03-29)
### Bug Fixes:
- Made AshPostgres.Repo.init/2 overridable (#51)
### Improvements:
- only count resources w/ create action for nullability
- better error message on missing table
## [v0.35.4](https://github.com/ash-project/ash_postgres/compare/v0.35.3...v0.35.4) (2021-03-21)
### Bug Fixes:
- reroute `Ash.Type.UUID` to `:uuid` in migrations
- force create extensions snapshot
### Improvements:
- consistent foreign key names
- support custom foreign key error messages
## [v0.35.3](https://github.com/ash-project/ash_postgres/compare/v0.35.2...v0.35.3) (2021-03-19)
### Bug Fixes:
- force create extensions snapshot
- more conservative inner join checks
- add back in inner join detection logic
### Improvements:
- consistent foreign key names
- support custom foreign key error messages
## [v0.35.2](https://github.com/ash-project/ash_postgres/compare/v0.35.1...v0.35.2) (2021-03-05)
### Bug Fixes:
- more conservative inner join checks
- add back in inner join detection logic
## [v0.35.1](https://github.com/ash-project/ash_postgres/compare/v0.35.0...v0.35.1) (2021-03-02)
### Bug Fixes:
- don't start the whole app in migrate
## [v0.35.0](https://github.com/ash-project/ash_postgres/compare/v0.34.7...v0.35.0) (2021-03-02)
### Features:
- automatically install extensions from repo
## [v0.34.7](https://github.com/ash-project/ash_postgres/compare/v0.34.6...v0.34.7) (2021-03-02)
### Bug Fixes:
- typo in references for multitenancy
- `null: true` when attr isn't on all resources for a table
## [v0.34.6](https://github.com/ash-project/ash_postgres/compare/v0.34.5...v0.34.6) (2021-02-24)
### Bug Fixes:
- better embedded filters, switch to latest ash
## [v0.34.5](https://github.com/ash-project/ash_postgres/compare/v0.34.4...v0.34.5) (2021-02-23)
### Improvements:
- support latest ash
## [v0.34.4](https://github.com/ash-project/ash_postgres/compare/v0.34.3...v0.34.4) (2021-02-08)
### Bug Fixes:
- trim when choosing new attribute name
## [v0.34.3](https://github.com/ash-project/ash_postgres/compare/v0.34.2...v0.34.3) (2021-02-06)
### Bug Fixes:
- don't reference polymorphic tables to belongs_to relationships
## [v0.34.2](https://github.com/ash-project/ash_postgres/compare/v0.34.1...v0.34.2) (2021-02-06)
### Bug Fixes:
- set up references properly
## [v0.34.1](https://github.com/ash-project/ash_postgres/compare/v0.34.0...v0.34.1) (2021-02-06)
### Bug Fixes:
- reference the configured table if set
## [v0.34.0](https://github.com/ash-project/ash_postgres/compare/v0.33.1...v0.34.0) (2021-02-06)
### Features:
- support polymorphic relationships
## [v0.33.1](https://github.com/ash-project/ash_postgres/compare/v0.33.0...v0.33.1) (2021-01-27)
### Bug Fixes:
- actually insert the tracking row
## [v0.33.0](https://github.com/ash-project/ash_postgres/compare/v0.32.2...v0.33.0) (2021-01-27)
### Features:
- add `mix ash_postgres.create`
- add `mix ash_postgres.migrate`
- add `mix ash_postgres.migrate --tenants`
- add `mix ash_postgres.drop`
### Bug Fixes:
- rework the way multitenant migrations work
## [v0.32.2](https://github.com/ash-project/ash_postgres/compare/v0.32.1...v0.32.2) (2021-01-26)
### Bug Fixes:
- un-break the `in` filter type casting code
### Improvements:
- better errors for multitenant unique constraints
## [v0.32.1](https://github.com/ash-project/ash_postgres/compare/v0.32.0...v0.32.1) (2021-01-24)
### Bug Fixes:
- `ago` was adding, not subtracting
## [v0.32.0](https://github.com/ash-project/ash_postgres/compare/v0.31.1...v0.32.0) (2021-01-24)
### Features:
- support latest ash + contains
## [v0.31.1](https://github.com/ash-project/ash_postgres/compare/v0.31.0...v0.31.1) (2021-01-22)
### Improvements:
- update to latest ash
## [v0.31.0](https://github.com/ash-project/ash_postgres/compare/v0.30.1...v0.31.0) (2021-01-22)
### Features:
- support fragments
- support type casting
- update to latest ash to support expressions
### Bug Fixes:
- update CI versions
## [v0.30.1](https://github.com/ash-project/ash_postgres/compare/v0.30.0...v0.30.1) (2021-01-13)
## [v0.30.0](https://github.com/ash-project/ash_postgres/compare/v0.29.6...v0.30.0) (2021-01-13)
### Features:
- Add check_migrated option to migration generator (#40) (#43)
## [v0.29.6](https://github.com/ash-project/ash_postgres/compare/v0.29.5...v0.29.6) (2021-01-12)
### Bug Fixes:
- rename out of phase, small migration fix
## [v0.29.5](https://github.com/ash-project/ash_postgres/compare/v0.29.4...v0.29.5) (2021-01-10)
### Improvements:
- Use ecto_sql formatter settings (#38)
## [v0.29.4](https://github.com/ash-project/ash_postgres/compare/v0.29.3...v0.29.4) (2021-01-10)
### Improvements:
- Omit field opts if they are default values (#37)
## [v0.29.3](https://github.com/ash-project/ash_postgres/compare/v0.29.2...v0.29.3) (2021-01-08)
### Improvements:
- support latest ash
## [v0.29.2](https://github.com/ash-project/ash_postgres/compare/v0.29.1...v0.29.2) (2021-01-08)
### Improvements:
- Make integer serial if generated
## [v0.29.1](https://github.com/ash-project/ash_postgres/compare/v0.29.0...v0.29.1) (2021-01-08)
### Improvements:
- support latest ash version
## [v0.29.0](https://github.com/ash-project/ash_postgres/compare/v0.28.1...v0.29.0) (2021-01-08)
### Features:
- retain snapshot history
### Improvements:
- support latest ash version
## [v0.28.1](https://github.com/ash-project/ash_postgres/compare/v0.28.0...v0.28.1) (2021-01-07)
### Improvements:
- Add :binary migration type (#33)
## [v0.28.0](https://github.com/ash-project/ash_postgres/compare/v0.27.0...v0.28.0) (2020-12-29)
### Features:
- support latest Ash version
## [v0.27.0](https://github.com/ash-project/ash_postgres/compare/v0.26.2...v0.27.0) (2020-12-23)
### Features:
- support refs on both sides of operators
### Bug Fixes:
- bump ash version
## [v0.26.2](https://github.com/ash-project/ash_postgres/compare/v0.26.1...v0.26.2) (2020-12-06)
### Bug Fixes:
- properly accept the `tenant_migration_path`
## [v0.26.1](https://github.com/ash-project/ash_postgres/compare/v0.26.0...v0.26.1) (2020-12-01)
### Bug Fixes:
- set default properly when modifying
## [v0.26.0](https://github.com/ash-project/ash_postgres/compare/v0.25.5...v0.26.0) (2020-11-25)
### Features:
- don't drop columns unless explicitly told to
### Bug Fixes:
- various migration generator bug fixes
## [v0.25.5](https://github.com/ash-project/ash_postgres/compare/v0.25.4...v0.25.5) (2020-11-17)
### Bug Fixes:
- drop constraints outside of phases (#29)
## [v0.25.4](https://github.com/ash-project/ash_postgres/compare/v0.25.3...v0.25.4) (2020-11-07)
### Bug Fixes:
- only alter the things that have changed
## [v0.25.3](https://github.com/ash-project/ash_postgres/compare/v0.25.2...v0.25.3) (2020-11-06)
### Improvements:
- add utc_datetime migration type
## [v0.25.2](https://github.com/ash-project/ash_postgres/compare/v0.25.1...v0.25.2) (2020-11-03)
### Bug Fixes:
- access data_layer_query with function
## [v0.25.1](https://github.com/ash-project/ash_postgres/compare/v0.25.0...v0.25.1) (2020-10-29)
### Improvements:
- mark repo as not requiring compile-time dep
## [v0.25.0](https://github.com/ash-project/ash_postgres/compare/v0.24.0...v0.25.0) (2020-10-29)
### Features:
- multitenancy (#25)
### Bug Fixes:
- verify repo using ensure_compiled
## [v0.24.0](https://github.com/ash-project/ash_postgres/compare/v0.23.2...v0.24.0) (2020-10-17)
### Features:
- support latest ash
## [v0.23.2](https://github.com/ash-project/ash_postgres/compare/v0.23.1...v0.23.2) (2020-10-07)
## [v0.23.1](https://github.com/ash-project/ash_postgres/compare/v0.23.0...v0.23.1) (2020-10-06)
## [v0.23.0](https://github.com/ash-project/ash_postgres/compare/v0.22.1...v0.23.0) (2020-10-06)
### Features:
- update to latest ash, trigram filter
## [v0.22.1](https://github.com/ash-project/ash_postgres/compare/v0.22.0...v0.22.1) (2020-10-01)
### Bug Fixes:
- don't group alters with creates (#22)
- add jason dependency, clean lockfile (#21)
## [v0.22.0](https://github.com/ash-project/ash_postgres/compare/v0.21.0...v0.22.0) (2020-09-24)
### Features:
- fix error when filtering with `true`
### Bug Fixes:
- broken types for `in` operator
## [v0.21.0](https://github.com/ash-project/ash_postgres/compare/v0.20.1...v0.21.0) (2020-09-19)
### Features:
- support base_filter (#18)
## [v0.20.1](https://github.com/ash-project/ash_postgres/compare/v0.20.0...v0.20.1) (2020-09-11)
### Bug Fixes:
- document/update migration path logic
## [v0.20.0](https://github.com/ash-project/ash_postgres/compare/v0.19.0...v0.20.0) (2020-09-11)
### Features:
- snapshot-based migration generator
## [v0.19.0](https://github.com/ash-project/ash_postgres/compare/v0.18.0...v0.19.0) (2020-09-02)
### Features:
- support inner joins when possible (#15)
### Bug Fixes:
- better support for aggregates/calculations when delegating
- don't fail w/ no extensions configured
## [v0.18.0](https://github.com/ash-project/ash_postgres/compare/v0.17.0...v0.18.0) (2020-08-26)
### Features:
- update to ash 1.11 (#13)
- support Ash v1.10 (#12)
- support latest ash
- update to latest ash
## [v0.17.0](https://github.com/ash-project/ash_postgres/compare/v0.16.1...v0.17.0) (2020-08-26)
### Features:
- update to ash 1.11 (#13)
- support Ash v1.10 (#12)
- support latest ash
- update to latest ash
## [v0.16.1](https://github.com/ash-project/ash_postgres/compare/v0.16.0...v0.16.1) (2020-08-19)
### Bug Fixes:
- fix compile/dialyzer issues
## [v0.16.0](https://github.com/ash-project/ash_postgres/compare/v0.15.0...v0.16.0) (2020-08-19)
### Features:
- update to latest ash
- update to latest version of ash
## [v0.15.0](https://github.com/ash-project/ash_postgres/compare/v0.14.0...v0.15.0) (2020-08-18)
### Features:
- update to latest version of ash
## [v0.14.0](https://github.com/ash-project/ash_postgres/compare/v0.13.0...v0.14.0) (2020-08-17)
### Features:
- support ash 1.7
- support named aggregates
## [v0.13.0](https://github.com/ash-project/ash_postgres/compare/v0.12.1...v0.13.0) (2020-07-25)
### Features:
- update to latest ash
- support latest ash
## [v0.12.1](https://github.com/ash-project/ash_postgres/compare/v0.12.0...v0.12.1) (2020-07-24)
### Bug Fixes:
- add can? for `:aggregate`
## [v0.12.0](https://github.com/ash-project/ash_postgres/compare/0.11.2...v0.12.0) (2020-07-24)
### Features:
- update to latest ash
## [v0.11.2](https://github.com/ash-project/ash_postgres/compare/0.11.1...v0.11.2) (2020-07-23)
### Bug Fixes:
## [v0.11.1](https://github.com/ash-project/ash_postgres/compare/0.11.0...v0.11.1) (2020-07-23)
### Bug Fixes:
## [v0.11.0](https://github.com/ash-project/ash_postgres/compare/0.10.0...v0.11.0) (2020-07-23)
### Features:
- support ash 13.0 aggregates
## [v0.10.0](https://github.com/ash-project/ash_postgres/compare/0.9.0...v0.10.0) (2020-07-15)
### Features:
- update to latest ash
## [v0.9.0](https://github.com/ash-project/ash_postgres/compare/0.8.0...v0.9.0) (2020-07-13)
### Features:
- update to latest ash
## [v0.8.0](https://github.com/ash-project/ash_postgres/compare/0.7.0...v0.8.0) (2020-07-09)
### Features:
- update to latest ash
## [v0.7.0](https://github.com/ash-project/ash_postgres/compare/0.6.0...v0.7.0) (2020-07-09)
### Features:
- update to latest ash
- update to latest ash, add docs
- update to ash 0.9.1 for transactions
## [v0.6.0](https://github.com/ash-project/ash_postgres/compare/0.5.0...v0.6.0) (2020-06-29)
### Features:
- update to latest ash
## [v0.5.0](https://github.com/ash-project/ash_postgres/compare/0.4.0...v0.5.0) (2020-06-29)
### Features:
- upgrade to latest ash
## [v0.4.0](https://github.com/ash-project/ash_postgres/compare/0.3.0...v0.4.0) (2020-06-27)
### Features:
- update to latest ash
## [v0.3.0](https://github.com/ash-project/ash_postgres/compare/0.2.1...v0.3.0) (2020-06-19)
### Features:
- New filter style (#10)
## [v0.2.1](https://github.com/ash-project/ash_postgres/compare/0.2.0...v0.2.1) (2020-06-15)
### Bug Fixes:
- update .formatter.exs
## [v0.2.0](https://github.com/ash-project/ash_postgres/compare/0.1.4...v0.2.0) (2020-06-14)
### Features:
- use the new DSL builder for config (#7)
## [v0.1.4](https://github.com/ash-project/ash_postgres/compare/0.1.3...v0.1.4) (2020-06-05)
### Bug Fixes:
- update ash version dependency
- account for removal of name
## [v0.1.3](https://github.com/ash-project/ash_postgres/compare/0.1.2...v0.1.3) (2020-06-03)
This release was a test of our automatic hex.pm package deployment
## Begin Changelog