Conversation
|
Superseded by #27 — I missed that PR before opening this one, apologies. #27 (open since November) already makes the same I'd suggest merging #27 rather than this. What this PR adds that #27 doesn't is the reasoning — #30 documents the Happy to close this whenever you like; leaving it open only so #30 has something attached. |
Picks up the remaining version bumps proposed in drewburlingame#27 by @dreik - CommandDotNet, JetBrains.Annotations, YamlDotNet, System.Text.Encoding.CodePages, and the test packages - so this branch is a superset rather than a competing subset. FluentAssertions 8 renames BeLessOrEqualTo to BeLessThanOrEqualTo, which ContainerTest needed. Solution builds clean and all 111 unit tests pass on net8.0.
|
Update — retracting my "superseded, happy to close" above. I've brought #27's version sweep into this branch, so it is no longer a subset of that PR. This one now carries all of the same bumps plus the Full credit to @dreik — the bumps here are their list, and I took their Verified on this branch: solution builds with 0 warnings/0 errors, all 111 unit tests pass, and a real 171-script PostgreSQL migration runs clean. |
Fixes #30.
Moves
dbup-postgresqloff the beta, which cannot parse$$-quoted function bodies, and pinsNewtonsoft.Jsonaway from CVE-2024-21907.Why
6.0.0-beta.44splits scripts on;without honouring dollar-quoting, so anyCREATE FUNCTION ... $$ ... ; ... $$fails with42601: unterminated dollar-quoted string. This is the beta risk noted in drwatson1#45 — stabledbup-postgresql(6.0.3, 6.1.2, 6.1.5, 7.0.1) is now published.Changes
CS1705at compileCould not load file or assembly 'Npgsql, Version=9.0.4.0'at runtimeThe
Newtonsoft.Jsonentry is a transitive pin only — nothing references it directly. It arrives via the deprecatedMicrosoft.Azure.KeyVault/Microsoft.Azure.Services.AppAuthentication, andCentralPackageTransitivePinningEnabledis already on, so the one line is enough. Replacing those two withAzure.Identitywould be the better long-term fix, but that changes auth behaviour so I left it alone.I chose 6.1.5 over 7.0.1 to stay within the 6.x line the rest of the packages are on.
Verification
Built and run against PostgreSQL 16 with a real migration set — 171 scripts, 42 of which use
$$function bodies:42601: unterminated dollar-quoted stringUpgrade successful, 75 tables createdrunAlwaysscripts, journal steady at 161Also confirmed provider assemblies still load lazily after the bump: deleting
dbup-sqlserver.dll,dbup-mysql.dll,Microsoft.Data.SqlClient.dll,MySql.Data.dlland theMicrosoft.Azure.*assemblies leaves a PostgreSQL migration running clean. Useful for anyone trimming a container image.I have not run the repo's own test suite — it uses Testcontainers and I wasn't set up for it, so that's worth a CI run.