cargo-semver-checks VS ddl-diff

Compare cargo-semver-checks vs ddl-diff and see what are their differences.

cargo-semver-checks

Scan your Rust crate for semver violations. (by obi1kenobi)

ddl-diff

Generates SQL migrations by parsing and diffing DDL (by cbowdon)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
cargo-semver-checks ddl-diff
18 1
901 2
- -
9.3 10.0
7 days ago over 6 years ago
Rust Scala
Apache License 2.0 GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

cargo-semver-checks

Posts with mentions or reviews of cargo-semver-checks. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-07.

ddl-diff

Posts with mentions or reviews of ddl-diff. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-29.
  • PRQL a simple, powerful, pipelined SQL replacement
    19 projects | news.ycombinator.com | 29 Dec 2022
    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?

When comparing cargo-semver-checks and ddl-diff you can also consider the following projects:

prql-query - Query and transform data with PRQL

argfile - Load additional CLI args from file

FunSQL.jl - Julia library for compositional construction of SQL queries

octosql-plugin-postgres

normconf2022

go-sqlite3-stdlib - A standard library for mattn/go-sqlite3 including best-effort date parsing, url parsing, math/string functions, and stats aggregation functions

prql - PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement

octosql-plugin-random_data - OctoSQL plugin serving random data

liquibase - Main Liquibase Source

rust-semverver - Automatic checking for semantic versioning in library crates

trustfall - A query engine for any combination of data sources. Query your files and APIs as if they were databases!