| ▲ | davidkwast 3 hours ago | |||||||
Wow. I saved the link for emergencies. And I sent it to all my team. It is like a diff tool but to advance the schema. | ||||||||
| ▲ | evanelias 2 hours ago | parent [-] | |||||||
Personally I've always called this style "declarative schema management" since the input declares the desired state, and the tool figures out how to transition the database to that state. sqldef is really cool for supporting many database dialects. I'm the author of Skeema [1] which includes a lot of functionality that sqldef lacks, but at the cost of being 100% MySQL/MariaDB-specific. Some other DB-specific options in this space include Stripe's pg-schema-diff [2], results [3], stb-tester's migrator for sqlite [4], among many others over the years. The more comprehensive solutions from ByteBase, Atlas, Liquibase, etc tend to support multiple databases and multiple paradigms. And then over in Typescript ORM world, the migrators in Prisma and Drizzle support a "db push" declarative concept. (fwiw, I originated that paradigm; Prisma directly copied several aspects of `skeema push`, and then Drizzle copied Prisma. But ironically, if I ever complete my early-stage next-gen tool, it uses a different deployment paradigm.) [1] https://github.com/skeema/skeema/ [2] https://github.com/stripe/pg-schema-diff [3] https://github.com/djrobstep/results [4] https://david.rothlis.net/declarative-schema-migration-for-s... | ||||||||
| ||||||||