Skip to content

Releases: Apakottur/pgmig

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 12:10
c8277f5

What's Changed

  • refactor: introduce _IntrospectionRow / _IntrospectionRowWithSchema base rows by @Apakottur in #176
  • refactor: centralize query files in an IntrospectionQuery enum by @Apakottur in #177
  • feat: add --ignore-schema to exclude schemas from the diff by @Apakottur in #175

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 20:38
c96cdcb

What's Changed

  • feat: diff privileges (GRANT/REVOKE) for schemas, sequences, functions by @Apakottur in #173
  • feat: diff ALTER DEFAULT PRIVILEGES (pg_default_acl) by @Apakottur in #174

Full Changelog: v0.2.0...v1.0.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 19:49
b03089a

What's Changed

  • perf: reset test databases in place instead of drop/recreate by @Apakottur in #159
  • feat: preview generated release notes before tagging by @Apakottur in #160
  • feat: rename enum values in place via ALTER TYPE RENAME VALUE by @Apakottur in #161
  • test: cover constraint triggers end-to-end (CREATE CONSTRAINT TRIGGER) by @Apakottur in #163
  • feat: alter composite type attributes in place by @Apakottur in #164
  • feat: diff trigger enable/disable state (tgenabled) by @Apakottur in #162
  • feat: diff INSTEAD OF triggers on views by @Apakottur in #165
  • feat: rewrite enum type for value removal / reorder by @Apakottur in #167
  • feat: support range types (CREATE TYPE ... AS RANGE) by @Apakottur in #166
  • feat: recreate function dependents on return-type change by @Apakottur in #168
  • feat!: flip owner reconciliation to opt-in (--include-owner) by @Apakottur in #169
  • feat: support row-level security (table flags + policies) by @Apakottur in #170
  • feat: diff ownership for non-table objects by @Apakottur in #171
  • feat: diff table privileges (GRANT / REVOKE) by @Apakottur in #172

Full Changelog: v0.1.1...v0.2.0

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 17 Jul 17:08
e90d9ee

What's Changed

  • fix: clear PgmigApiError when generate() is called from a running event loop by @Apakottur in #128
  • feat: support exclusion constraints (EXCLUDE USING ...) by @Apakottur in #130
  • feat: sync UNLOGGED tables by @Apakottur in #129
  • feat: topologically order composite type create/drop by dependency by @Apakottur in #131
  • feat: sync view options (security_invoker, security_barrier, WITH CHECK OPTION) by @Apakottur in #132
  • feat: support partition bound changes via detach + re-attach by @Apakottur in #133
  • feat: support generated-column expression changes and VIRTUAL columns (PG18) by @Apakottur in #134
  • feat: detect and sync column collation changes by @Apakottur in #135
  • feat: introspect and diff manually owned sequences (OWNED BY) by @Apakottur in #137
  • feat: diff identity column sequence options (start, increment, cache, min/max, cycle) by @Apakottur in #136
  • refactor: extract key dataclasses and replace record tuples with explicit types by @Apakottur in #138
  • feat: diff table REPLICA IDENTITY by @Apakottur in #139
  • feat: recreate partitioned tables on partition key/strategy change by @Apakottur in #141
  • feat: diff UNLOGGED sequences (PG15+) by @Apakottur in #140
  • refactor: collapse ViewKey into RelationKey by @Apakottur in #142
  • feat: order materialized-view dependencies (matview-on-view, matview-on-matview) by @Apakottur in #143
  • refactor: add Table.column_by_name and use it for name lookups by @Apakottur in #144
  • perf: use a heap for the topological_sort ready set by @Apakottur in #148
  • refactor: freeze remaining model dataclasses and dedupe test constant by @Apakottur in #150
  • refactor: generalize collect_relations key and simplify function drop order by @Apakottur in #146
  • refactor: unify drop-order idiom and generalize the schema-flatten helper by @Apakottur in #151
  • perf: cache bundled query reads and order functions by alias by @Apakottur in #149
  • refactor: dedup index loaders for tables and matviews by @Apakottur in #152
  • fix: run introspection in one REPEATABLE READ snapshot by @Apakottur in #147
  • test: cover NULLS NOT DISTINCT for unique constraints and indexes (PG15+) by @Apakottur in #153
  • test: cover PG18 temporal constraints (WITHOUT OVERLAPS, PERIOD FK) by @Apakottur in #154
  • perf: validate NOT VALID constraints in place instead of drop+re-add by @Apakottur in #155
  • feat: alter deferrability in place for foreign keys by @Apakottur in #156
  • feat: alter enforced state in place for NOT ENFORCED foreign keys (PG18) by @Apakottur in #157
  • perf: skip introspection queries for absent object classes by @Apakottur in #158

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Jul 14:13
2da0d4e

What's Changed

  • fix: keep matview indexes when it is recreated over a retyped column by @Apakottur in #99
  • fix: omit USING when altering type of a generated column by @Apakottur in #100
  • fix: close dependency-query gaps causing false refusals and a failed apply by @Apakottur in #101
  • fix: guard more unsupported catalogs against false convergence by @Apakottur in #102
  • refactor: drop misleading frozen=True from models with mutable fields by @Apakottur in #103
  • fix: emit comment for a create that reuses a rename-vacated name by @Apakottur in #105
  • refactor: extract _alter_shared_column from _alter_columns by @Apakottur in #106
  • refactor: give matview indexes their own phase after VIEW_CREATE by @Apakottur in #107
  • fix: depend on bare psycopg; use SPDX license string by @Apakottur in #104
  • feat: raise UnsupportedChangeError for documented limitations by @Apakottur in #109
  • feat: order function drops by dependency by @Apakottur in #89
  • fix: rewrite the --output file on an empty diff by @Apakottur in #108
  • refactor: rename api module to _api by @Apakottur in #111
  • refactor: rename _build module to _introspect by @Apakottur in #112
  • refactor: route refused changes through a PgmigUnsupportedError taxonomy by @Apakottur in #110
  • refactor: route single-object comment diffs through diff_single_comment by @Apakottur in #114
  • refactor: single source of truth for recreated-matview predicate by @Apakottur in #115
  • refactor: tighten view_dependencies.sql and forbid extra columns on query rows by @Apakottur in #113
  • refactor: unify topological sort and add cycle detection to function drops by @Apakottur in #116
  • docs: fix stale exception name in generate_setup docstring by @Apakottur in #118
  • refactor: deparse each index once in indexes.sql by @Apakottur in #121
  • refactor: dedup the view and materialized-view loaders by @Apakottur in #119
  • refactor: compute test DB names lazily instead of at import by @Apakottur in #120
  • refactor: introspection context and query/result renames by @Apakottur in #123
  • refactor: introspect databases with async psycopg by @Apakottur in #124
  • feat: add async agenerate() and make assert_diff async by @Apakottur in #125
  • chore: add pytest-sugar as a dev dependency by @Apakottur in #126
  • test: convert remaining test suite to async by @Apakottur in #127
  • refactor: introspect databases with async psycopg by @Apakottur in #122
  • perf: memoize retyped column readers per diff by @Apakottur in #117

Full Changelog: v0.0.10...v0.1.0

v0.0.10

Choose a tag to compare

@github-actions github-actions released this 14 Jul 15:25
d2b631b

What's Changed

  • fix: configure introspection session at transaction level for pgbouncer by @Apakottur in #98

Full Changelog: v0.0.9...v0.0.10

v0.0.9

Choose a tag to compare

@github-actions github-actions released this 14 Jul 14:48
6b9065c

What's Changed

  • test: group integration tests under tests/api/ by @Apakottur in #90
  • test: add gen_setup.assert_diff and migrate all tests to it by @Apakottur in #91
  • fix: keep comments in sync when an object is renamed by @Apakottur in #92
  • fix: raise on unmodelled objects instead of falsely converging by @Apakottur in #94
  • fix: introspect triggers on partitioned parents, skip partition clones by @Apakottur in #95
  • fix: handle matview dependency gaps (apply-time failures and false refusals) by @Apakottur in #93
  • refactor: dedup diff scaffolds and thread index CONCURRENTLY into rendering by @Apakottur in #96
  • fix: set read-only via connection attribute for pgbouncer compatibility by @Apakottur in #97

Full Changelog: v0.0.8...v0.0.9

v0.0.8

Choose a tag to compare

@github-actions github-actions released this 13 Jul 19:24
a7b83c5

What's Changed

  • feat: diff indexes on materialized views by @Apakottur in #82
  • feat: emit identity columns (GENERATED ... AS IDENTITY) by @Apakottur in #83
  • feat: order view-on-column dependencies by @Apakottur in #84
  • feat: support partitioned tables by @Apakottur in #85
  • feat: emit USING cast for column type changes by @Apakottur in #86
  • feat: support generated columns (create/drop) by @Apakottur in #87
  • feat: support identity changes on the ALTER path by @Apakottur in #88

Full Changelog: v0.0.7...v0.0.8

v0.0.7

Choose a tag to compare

@github-actions github-actions released this 13 Jul 15:08
7e9d267

What's Changed

  • feat: ship py.typed marker (PEP 561) by @Apakottur in #79
  • refactor: store diff Context in a ContextVar by @Apakottur in #80
  • feat: add --ignore-owner to suppress ALTER ... OWNER TO by @Apakottur in #81

Full Changelog: v0.0.6...v0.0.7

v0.0.6

Choose a tag to compare

@github-actions github-actions released this 13 Jul 13:40
896749c

What's Changed

  • feat: support basic column type changes by @Apakottur in #73
  • feat: support table ownership (ALTER TABLE ... OWNER TO) by @Apakottur in #74
  • feat: support materialized views (basic) by @Apakottur in #75
  • feat: support composite types (create/drop) by @Apakottur in #77
  • feat: order view-on-view dependencies by @Apakottur in #76

Full Changelog: v0.0.5...v0.0.6