reshape
janet
reshape | janet | |
---|---|---|
16 | 79 | |
1,653 | 3,301 | |
- | 0.4% | |
7.4 | 9.4 | |
about 2 months ago | 8 days ago | |
Rust | C | |
MIT License | MIT License |
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.
reshape
- Show HN: Reshape – Zero-downtime schema migrations for Postgres
-
Pgroll: zero-downtime, undoable, schema migrations for Postgres
Cool stuff! Do you have any thoughts about how this compares to https://github.com/fabianlindfors/reshape?
-
Postgres schema changes are still a PITA
From what I know, there is only one project that tries something close to this: the relatively recent Reshape. It uses Postgres views to expose the two versions of the schema and triggers to upgrade/downgrade the new data. It doesn’t do the constraints part as described above, but shows that this approach is possible. Combined with the Xata pull request based workflow, I think the ideal system described above is possible!
-
Conceptually how do you handle deploys of SQL related things (table definition, scripts, stored procs etc) in a CI/CD way?
My idea is not unique. Reshape is similar, but bigger in scope.
-
The operational relational schema paradigm
This is precisely what I did for my automated zero-downtime migration tool and it works pretty well: https://github.com/fabianlindfors/reshape. At least for Postgres, simple views like these have almost no overhead as queries are simply rewritten for the underlying table.
-
Changing Tires at 100mph: A Guide to Zero Downtime Migrations
Anybody interested in this subject might also be interested in a tool for Postgres I’ve been working on, Reshape: https://github.com/fabianlindfors/reshape. It aims to fully automate away all the pain and manual steps zero-downtime migrations normally requires :)
- Reshape: An experimental, easy-to-use, zero-downtime migration tool for Postgres
-
PostgreSQL at Scale: Database Schema Changes Without Downtime
This post is absolutely terrific and has been been my main reference for Reshape, an automated, zero-downtime schema migration tool: https://github.com/fabianlindfors/reshape
- When Postgres blocks: tips for dealing with locks
- Reshape
janet
-
Scriptable Operating Systems with Lua [pdf]
Seems like a perfect use-case for Janet. (https://janet-lang.org/) A fast minimal VM like Lua, but even more extensible than Lua by being a "Lisp" with macro and C extension capabilities. Not a true Lisp, it's very pragmatic and performance-oriented. But it keeps the good stuff.
-
Ask HN: A Lisp with Cargo/NPM like build system?
You might be looking for: https://janet-lang.org/
It comes with a build tool `jpm` which installs dependencies globally by default, but you can have it be installed in your project folder as well.
-
Babashka: Fast native Clojure scripting runtime
I like Clojure, but I never had any good opportunities to use it other than for a few small hobby projects. It is unfortunate that it is so huge with tons of dependencies and no simpler native implementation. I started looking at various LISPs and Schemes to find something lighter to use instead and ended up settling for Janet that I think is Clojure-like enough to be comfortable to use, but in a small native binary with no dependencies and can be embedded in other native programs. I am sure for big, real, projects that Clojure makes more sense, but for my hobby projects and scripts I do not think I will install it again. I am still happy for the things I learned from learning Clojure. It was a real eye-opener for an old OO-programmer.
https://janet-lang.org/
- Janet Language
- Why Fennel?
- Embeddable Common Lisp 23.9.9
-
Sharpscript: Lisp for Scripting
One might also check out Janet for quick scripting tasks.
https://janet-lang.org
-
Red Programming Language
Thanks!
I thought about another multiplatform, homoiconic, highly compact language: https://janet-lang.org/ (takes 803 kb on my machine).
It has no types though.
-
Systems Programming with Racket
Racket is great, and if you like it you might find Rash interesting:
https://rash-lang.org/
Janet and Gerbil Scheme are also worth a look:
https://janet-lang.org/
https://cons.io/
-
how did you finally reach Lisp enlightenment?
Point here is that, for instance Janet language does not have cons / pair type but tuple (and so is lispoid, not lisp), but clearly this is sufficient for macros & hence seamless language construction: all you need is to be a lispoid although being a lisp gives another useful feature.
What are some alternatives?
pg-online-schema-change - Easy CLI tool for making zero downtime schema changes and backfills in PostgreSQL [Moved to: https://github.com/shayonj/pg-osc]
Fennel - Lua Lisp Language
pgroll - PostgreSQL zero-downtime migrations made easy
get-started-with-clojure - Learn Clojure and Interactive Programming – Zero install
migra - Like diff but for PostgreSQL schemas
babashka - Native, fast starting Clojure interpreter for scripting
gh-ost - GitHub's Online Schema-migration Tool for MySQL
scheme-for-max - Max/MSP external for scripting and live coding Max with s7 Scheme Lisp
atlas - Manage your database schema as code
ferret - Ferret is a free software lisp implementation for real time embedded control systems.
bytebase.com - Source for bytebase.com
kaboom.js - 💥 JavaScript game library