Mastodon Feed: Post

Mastodon Feed

Boosted by glyph ("Glyph"):
xgranade@wandering.shop ("Cassandra has had an adventure") wrote:

Ideally, this is what an ORM would give me, but also my experiences trying to use them for this project was pretty much exactly what DBXS warns you about.

Even something as basic as pragma user versions or FTS5 support completely breaks the engine-agnostic abstractions used by SQLAlchemy, for example, such that in practice I'd need hooks to manipulate the engine-aware connections and at that point, I might as well write the schema myself.

https://github.com/glyph/dbxs/

This problem compounds, because if your database has any feature that you want to use beyond the somewhat fuzzy boundaries of “standard” SQL, even something as simple as INSERT…ON CONFLICT DO NOTHING, you need to learn about that feature from the database's SQL dialect documentation, then learn it again as you learn from the specialized dialect support of your chosen library, assuming it wraps the feature you want. Some features may only be supported as additional libraries you need to depend on or you may have to wait for them to be implemented.