Skip to content

Bump version to 0.3.3 - #18

Merged
aersam merged 2 commits into
mainfrom
speed-up-testdb-seeding
Aug 19, 2026
Merged

Bump version to 0.3.3#18
aersam merged 2 commits into
mainfrom
speed-up-testdb-seeding

Conversation

@aersam

@aersam aersam commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

No description provided.

aersam added 2 commits August 19, 2026 19:00
…umns

_insert_test_data used cur.executemany() for every row regardless of table
shape, which sends one parse/bind/execute round trip per row. Benchmarked
against OneSales' real fixtures (87k rows across 46 tables, 91% of rows on
plain-scalar tables with no composite/enum/jsonb columns): seeding
end-to-end dropped from ~17.4s to ~12.5s per ensure_testdb(force_reset=True)
call, and _insert_test_data's own cumulative time from ~25s to ~15s in a
cProfile comparison.

Tables with any composite/enum/jsonb column keep the existing
recursive_convert + executemany path untouched (that logic is unaffected
and still exercised by test_apply_schema_seeds_composite_enum_and_jsonb_columns).

Verified: pgdevkit's own test_schema.py suite (7/7 passing, including the
composite/enum/jsonb case), row counts matching fixture counts exactly on
the COPY path, and OneSales' full unit suite (1794/1798 passing, same 4
pre-existing unrelated failures with and without this change).
@aersam
aersam merged commit debe923 into main Aug 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant