perseas / Pyrseas

Provides utilities for Postgres database schema versioning.
https://perseas.github.io/
BSD 3-Clause "New" or "Revised" License
395 stars 67 forks source link

WIP: support Postgres 12 #217

Closed rmg closed 4 years ago

rmg commented 4 years ago

I don't really like the idea of special casing in the tests, but these are some hacks I made to the tests to work around some Postgres 12 differences.

I'm not familiar enough with the code to know whether there are better ways of handling these differences, so I'm not really sure if these changes have implications beyond the tests that needed to be changed.

rmg commented 4 years ago

@jmafc thanks! I was expecting a little more back-and-forth, but I'll take the quick merge 😄

jmafc commented 4 years ago

The multiple column default naming for constraints only affects tests because the mainline code uses whatever names it finds in the catalogs and the input YAML. It may be better to do the special casing in the construction of the default constraint name so the assert uses a single variable, but it's not really important. If more of these default naming issues pop up, we could create a helper function that would get passed the db.version, but for now we only have one test. The plpython choice is only a testing decision. BTW, since Python 2 is officially EoL, I'm thinking it should be de-emphasized in docs and maybe in tests. I don't know much about the "name" collation. I think "name" columns are mostly if not exclusively for use in PG catalogs, and for now we're only using them for metadata.