Skip to content

detect postgres v18+, to set different defaults and extensions #672

@lucavenir

Description

@lucavenir

Code of Conduct

  • I agree to follow this project's Code of Conduct

AI Policy

  • I agree to follow this project's AI Policy, or I agree that AI was not used while creating this issue.

Is your feature request related to a problem? Please describe.

Currently, ash_postgres generates a custom uuid_generate_v7() function, which is effectively useless when it comes to postgres v18+.

The main pain point is that trying to map a uuid_v7_primary_key in our domain to uuidv7() in postgres data layer can be cumbersome, as highlighted in #670.

Describe the solution you'd like

I'd love ash_postgres not to generate the custom uuid_generate_v7() function, and to default mapping uuid_v7_primary_key to uuidv7() without extra effort.

Describe alternatives you've considered

I'm currently writing:

    migration_defaults id: "fragment(\"uuidv7()\")"

In each and every resource. Which is the cumbersome part. As explained here, there's no "neat" way to globally override a migration default (which is good, if you ask me), so I'm sticking to this workaround until this is approved and implemented.

Additional context

Thank you Zach for the ecosystem and the help you've given me on discord and in other issues ❤️

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions