460 karma · joined March 15, 2016
From Database to UI: The All-in-One library suite for internal tools development with integrated authentication in your language of choice.
https://subzero.cloud/
ruslan.talpa [at] subzero [dot]
SELECT crypt( encode(digest(gen_random_bytes(1024), 'sha512'), 'base64'), gen_salt('bf', 20) )FROM generate_series(1, 1000000)
More explanations here https://www.freecodecamp.org/news/stop-calling-postgrest-mag...
https://github.com/subzerocloud/showcase/tree/main/cloudflar...
[1] https://github.com/subzerocloud/blue-steel
[2] https://github.com/benbjohnson/litestream
edit: typo
“ A React web application to query and share any PostgreSQL database”
Specifically, testing the sql side with sql (pgtap) and having your sql code in files that get autoloaded to your dev db when saved. Migrations are autogenerated* with apgdiff and managed with sqitch. The process has it’s rough edges but it makes developing with this kind of stack much easier
* you still have to review the generated migration file and make small adjustments but it allows you to work with many entities at a time in your schema without having to remember to reflect the change in a specific migration file
https://docs.subzero.cloud/managing-migrations/
Internally it uses sqitch and apgdiff.
The process is almost exactly like the one you described for your tool.
Really? No one? I learned haskell (my first FP lang) and rewrote the core of PostgREST (in my spare time) in about 6m... so stop scaring people :)
Also something similar which uses apgdiff https://github.com/subzerocloud/subzero-cli
it's true that it's not a polished workflow to debug stored procedures because you you have to jump from your editor to pgadmin but i don't think this is such a big deal for two reasons.
- postgrest architecture is such that you rarely need stored procedures (not just me, all the projects), it's the exact same way ppl use databases without them (they just send queries to the db, same here). 90% of the code in this type of project is table/view definitions (with constraints) and appropriate grant/rls statements. So there is very little imperative code to debug.
- The type of stored procedures used is quite simple, isolated and mostly self contained, a single function, maybe calling some other helper functions (you are always 2 levels deep at most) so it's not like in other envs where you have to follow the code jumps between hundreds of functions and classes.
Another point is - it's not a library and you are not the one maintaining it :) the same way you are not maintaining, but still using things like postgresql,nginx,redis, rabbitmq.
I bet it's a lot easier to learn haskell and patch postgrest then to know C for 10 years and patch postgresql :)
Very very old videos but you can get the core idea https://begriffs.com/posts/2014-12-30-intro-to-postgrest.htm...