prql-query
ddl-diff
Our great sponsors
prql-query | ddl-diff | |
---|---|---|
3 | 1 | |
115 | 2 | |
- | - | |
10.0 | 10.0 | |
7 months ago | over 6 years ago | |
Rust | Scala | |
Apache License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
prql-query
-
Relational is more than SQL
Thank you.
The CLI usability was one of the aims behind [prql-query (pq)](https://github.com/prql/prql-query/). sqlite integration was on the roadmap but unfortunately that project has been largely unmaintained by me for the past 6 months. (This is just referring to prql-query and not PRQL which is under very active development.)
I'm working on a new project which will do exactly this (and a lot more!) which I hope to release next week. I'll drop the link here when that's ready.
-
GQL: A SQL like query language for .git files
As an aside, I could also look at including GQL as a backend in pq (https://github.com/prql/prql-query/) which is my project. It's a bit badly maintained the last few months due to my time constraints but I want to do a big upgrade with the imminent PRQL 0.9 release.
-
PRQL a simple, powerful, pipelined SQL replacement
Thanks for the suggestion. I don't think I knew about usql. I completely agree with you and have been working on a cli tool called `prql-query` or `pq` at the command line:
https://github.com/prql/prql-query/
Unfortunately I haven't had much time to spend on it of late but hope to push some updates soon.
ddl-diff
-
PRQL a simple, powerful, pipelined SQL replacement
So, after digging about in the docs, I found the Best Practices[0] page which lays out what you describe. I was disappointed to find it is just using idempotent creation statements for procedures and views and putting them all in files that are re-run on each migration step-along with each new roll forward migration-so that new versions of these logic objects replace any old ones. This is not exactly something that liquidbase provides, should be easily replicatable, and I was hoping it'd do diffs to provide similar experience on tables as well.
After some web searching, I came across a project[1] that's trying to do what I describe but it appears to be dead. I'm surprised that migration tools (that I looked through) don't already support such a basic approach that I suspect I'm missing something obvious. Some fundamental block in how SQL works or maybe it doesn't work that well in practice for, in concept, it sounds easy to script using what they call a shadow db and `pg_diff`.
[0]: https://docs.liquibase.com/concepts/bestpractices.html
[1]: https://github.com/cbowdon/ddl-diff
What are some alternatives?
prql - PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement
cargo-semver-checks - Scan your Rust crate for semver violations.
FunSQL.jl - Julia library for compositional construction of SQL queries
data-toolset - Upgrade from avro-tools and parquet-tools jars to a more user-friendly Python package.
normconf2022
Linq2Couchbase - A Language Integrated Query (LINQ) provider for the Couchbase .NET SDK
liquibase - Main Liquibase Source
TableIO.jl - A glue package for reading and writing tabular data. It aims to provide a uniform api for reading and writing tabular data from and to multiple sources.
trustfall - A query engine for any combination of data sources. Query your files and APIs as if they were databases!