Thanks for the mention!
Lol, this is too true. I use Beekeeper Studio every day. Every once in a while I think to myself, "I should see if the full version is worth paying for yet". Then I check out the features and, while they look great, the free version has absolutely everything I need.
Thanks for such a great product. I'll stop freeloading eventually!
Anyways, once taking the time to re-read the pricing screen subtleties it is sort of a one-time fee (billed as one year of subscription to gain indefinite use), so kudos to the developer, but I have to say it's really non-obvious to me at least.
Also the availability of a community edition is great, but again non-obvious.
The difference is - whether it’s a purchase or a subscription.
I’ll happily buy a tool, and happily will buy upgrades every so often.
I will absolutely resist paying for subscriptions unless you are delivering some sort of continuous service and I won’t be fooled by gimmicky cloud integrations just to make that claim.
I’m ok with the model of TablePlus however: pay for a license, it’s valid for a year, and at the end of the year you keep the current version available forever but no more updates. And you get a discount if you decide to renew your license
I’ve been a happy subscriber to Jetbrains Toolbox that has a similar model for many years now, and have interrupted and later resumed my subscription while being able to use the software in between.
100% against a subscription where you no longer able to use the software the moment you cancel your subscription after paying for years. Looking at you Adobe.
It looks quite similar to table plus, any killer features I’m overlooking?
What I really want is a state-based way to define my database. EdgeDB & Prism have made some progress here but they really only handle table changes. Really wish this were built into Postgres somehow (or any solid migration story).
I want to be able to define my tables, views, functions and everything and the engine behind it automatically figures out all the necessary changes. For example, change a table (add a column or something) and it is smart enough to update any dependent views and functions. Including handling of data migrations.
There are other notable mentions in this space:
Reshape: https://fabianlindfors.se/blog/schema-migrations-in-postgres...
Atlas: https://atlasgo.io/
A "custom" example on GitLab: https://gitlab.com/delibrium/delibrium-postgrest/-/tree/mast...
I don’t like the solution of “stop using views and functions” as I prefer to use use the full power of Postgres (everything close to the data, less application level logic, great plugins). Not sure what approach should be taken to creat a state based migration solution, but it feels like the tech around Postgres, language servers, etc has matured enough to solve the issue in an automated way.
Not as advanced as you describe though, it won’t handle your data migrations.
Agreed. Even when using something open like SQLite, you will find a lot of difficulty in answering simple (to me) questions like "how do I parse this command text into an AST".
Tooling for Postgres seems to be more for the technical who prefer command line than not.
At this point my muscle memory is on the Sequel Pro shortcut keys, except I'm finding myself around Postgres more and more.
This. I'd really like to have a working SQL pretty printer/formatter. Psql is great, but lacks autocompletion in several places.
That said, a big shoutout to pspg (https://github.com/okbob/pspg) - an excellent pager for psql (also for general csvs).
(ETA: Being a big fan of Merge statements for a bunch of ETL trivia is partly how I got to "Sentence case". Merge statements are tough to read at the best of times and eliminating extraneous casing changes as noise by using more lower-case than not was a very useful thing to me. I don't need to highlight keywords versus everything else in a modern syntax highlighting bath, so casing becomes useful for way finding. A lower-case "select" is in the middle of something else.)
I am regularly surprised how bad the tooling is for SQL/databases. Especially that there is no decent formatter that supports plpgsql, and doesn't absolutely mangle your queries (sometimes actually breaking your queries..).
Best options atm are imo TablePlus and DataGrip, I have tried a bunch of options in vscode and although there are useful tools, it's all not really there.
(Also excited to see what else they will release this launch week!)