rails-sqlserver / activerecord-sqlserver-adapter

SQL Server Adapter For Rails
MIT License
975 stars 563 forks source link

Check if insert_all/upsert_all can be implemented using MERGE #859

Open wpolicarpo opened 3 years ago

wpolicarpo commented 3 years ago

Issue

Rails 6 introduced upsert_all and the SQL Server adapter does not implement it yet.

There's no such thing as MySQL's ON DUPLICATE KEY UPDATE in SQL Server, but we could possibly use the MERGE clause to achieve the same result.

Expected behavior

upsert_all and insert_all could possibly be implemented using MERGE.

Actual behavior

upsert_all and insert_all are not implemented.

mgrunberg commented 3 years ago

@wpolicarpo I created PR https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/869 to explore this possibility. I found some issues.