Hi friends - wondering if I can get some 2c - relative noob to ROM
I was attempting to use
relation.upsert with options but found that it wasn’t validating via the schema - which appears to be expected behaviour.
Instead as I was trying to get the upsert command working as I wanted/needed it to, and ended up reaching for a new custom command class extending from the
ROM::SQL::Postgres::Commands::Upsert like so
class UserUpsert < ROM::SQL::Postgres::Commands::Upsert relation :users register_as :upsert conflict_target :name update_statement title: Sequel[:excluded][:title], email: Sequel[:excluded][:email] end class UserRepository < Repository[:users] commands :upsert end
Is there an easier/more idiomatic/more efficient way to do this that I’m just not seeing? Or is this fine the way it is?
Note the update_statement just uses the values being passed to it for those columns as the things to update with - unclear if there’s a better approach here, too