2 ms·
This is awesome, but also kind of hurts since I was working on something similar here: https://github.com/andrewbaxter/good-ormning https://github.com/andrewbax
by rendaw 2y ago
This is awesome, but also kind of hurts since I was working on something similar here: https://github.com/andrewbaxter/good-ormning https://github.com/andrewbaxter/good-ormning
They're very similar: Both define schema version "snapshots" not "diffs", with diffing happening automatically, and check queries based on the latest defined version, don't require a running database, etc.
The main difference seems to be about queries. My approach was to try to replicate sql query structure directly with the query builders, rather than abstract away from sql, whereas this appears to aim for something that's less similar to the original sql. I don't consider myself an sql expert and I've seen sql abstractions that aren't able to replicate all functionality, but seeing the reddit debate with the diesel author this seems fairly thorough.
FWIW in `good-ormning` I was thinking of getting rid of the query builders/my own query ast and having a macro that parses with `datafusion-sqlparser-rs` and checks that ast instead, but it's a significant change.
FWIW I think SQL is awful too, so I'm really happy to see the support here and I hope rust-query takes off.