ddl-diff
normconf2022 | ddl-diff | |
---|---|---|
2 | 1 | |
0 | 2 | |
- | - | |
10.0 | 10.0 | |
over 1 year ago | over 6 years ago | |
HTML | Scala | |
MIT License | 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.
normconf2022
- Replacing Pandas with Polars. A Practical Guide
-
PRQL a simple, powerful, pipelined SQL replacement
The last example in this notebook [0] shows how similar PRQL is to dplyr. The rest of the notebook shows how you can use PRQL from R, Python and the command line.
[0]: https://github.com/snth/normconf2022/blob/main/notebooks/nor...
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?
FunSQL.jl - Julia library for compositional construction of SQL queries
cargo-semver-checks - Scan your Rust crate for semver violations.
trustfall - A query engine for any combination of data sources. Query your files and APIs as if they were databases!
prql-query - Query and transform data with PRQL
prql - PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement
ArangoDB - 🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.
liquibase - Main Liquibase Source