12 ms·
Show HN: Beekeeper Studio – open-source, cross-platform SQL client
- rathboma 6y agoHey folks, This is a passion project from myself and a friend. Been looking for a slick and easy to use SQL client on Linux for a while (I wanted basically Sequel Pro, on Linux, for PSQL). Couldn't find what I wanted, so we made one ourselves. It's built on Electron using Vue.js - I know HN opinions on electron apps, but I've been surprised on how snappy the app is. It's fully open source (MIT), cross-platform (Linux, Mac, and Windows), and we're committed to respecting privacy. Hope someone else finds it useful too.
- sreekotay 6y agoQuite cool! Nice work :) Why an app vs. full hosted given it's Electron?
- mappu 6y ago> I wanted basically Sequel Pro, on Linux, for PSQL Have you seen http://sequeljoe.ohwg.net/ http://sequeljoe.ohwg.net/ ? I'm also following https://github.com/ragnar-lodbrok/meow-sql https://github.com/ragnar-lodbrok/meow-sql closely, a C++/Qt port of the FOSS-but-Windows-only https://www.heidisql.com/ https://www.heidisql.com/ . But neither of these are really "fully baked" options. EDIT: This may have come across as the typical HN "middlebrow dismissal" so I just want to say, phenomenal work and a heartfelt thanks for being fully FOSS. Tools like this are a really important part of the SWE landscape that could use some more good entrants.
- lykr0n 6y agoHeidiSQL works really well under Wine. I would still be using it
- rathboma 6y agoThanks!
- jstewartmobile 6y agoHeidiSQL on Wine, seconded.
- arjunbajaj 6y agoHey, it would be great if you published it to AUR (Arch Linux)!
- rathboma 6y agoHoping to! It's built with electron-builder and there's no plugin for aur yet, so will have to manually figure it out. I'm very pro Linux.
- arjunbajaj 6y agoI tried out your app, and it's awesome! Simple and solves my need. Can you add a setting to zoom?
- rathboma 6y agoWorking on it!
- jacek 6y agoThank you for your work. I just installed your app and it is working well.
- nicoburns 6y agoI have a couple of feature requests that nothing else seems to be able to do: 1. Parameterised queries (ideally with an ability to customise the syntax for the placeholders - we use :param for named parameters). All of our production queries are parameterised, and it would be awesome to be able to copy and paste them into this kind of tool, and run them unmodified. Especially as they sometimes use the same parameter in multiple places, so updating them. 2. A full editor control (e.g. Code Mirror, Monaco, or Ace) for editing SQL queries. Specifically I really want multiple cursors for editing queries quickly and efficiently.
- dewey 6y agoJust in case you are not aware of it, DataGrip can do all these things: https://www.jetbrains.com/datagrip/ https://www.jetbrains.com/datagrip/
- davedx 6y agoI use Rider daily and pay for it, but I found the price tag for DataGrip to be pretty steep considering what I typically use a SQL client for (running ad hoc queries mostly). The competition is not great on MacOS either so I've been using Azure Data Studio and dbBeaver mostly and not really happy with this state of affairs either. Excited to see a fresh new attempt in this space.
- fullstackchris 6y agohopping on the train here - does anyone know an editor that can do editing of postgres enums? (i know you can't 'edit' an enum in postgres, but i would love a GUI that would 'allow' this. (i.e. in the background DROP CASCADE the enum, create a new one with the same name and new value, as well as restoring to previous dependencies that the old enum had)
- zerr 6y agoPassion aside, how do you plan to monetize?
- rathboma 6y agoThere are plenty of opportunities to monetize once there are lots of users. I think with FOSS it's more important to outline how I'm NOT going to monetize. For us that means never charging for core features, eg having 'CE' vs 'EE', and never doing anything sketch with personal data.
- stephenr 6y ago> There are plenty of opportunities to monetize once there are lots of users. > never doing anything sketch with personal data. Does not compute.
- dr_faustus 6y agoLooks pretty neat. Have been using Navicat for quite some time but actually never really warmed up to the UI. I'll definitely give it a shot.
- CaveTech 6y agoNice work! I primarily use TablePlus, but it's lack of support for saved queries is a big downside, this could be great for that use case. A couple of UX things I've noticed, do with them what you will ;) - When clicking on a table, the more common expectation for me is for it to open that table in a new tab, or switch to an open tab already using that table. The dropdown with columns is nice, but feels secondary. - When opening a table, it would be nice to pre-seed with X amount of rows immediately. Commonly I just want to filter or search through the data in some way, and being able to immediately interact with it would be a nice touch.
- rathboma 6y agoThanks! The click interaction is something I'm not sure about. Neither feel totally right. Still thinking about it. It should fill when you open it. What DB are you using?
- Lapland 6y agoIt has a "favorite" feature which I assume is similar to what you're looking for? It's super intuitive imo but does the job
- db579 6y agoAgree with the table click expectation. Was surprised to find that didn't take me to table data.
- rntksi 6y agoReally nice ! Love the commitments you make. I use DataGrip and haven't found anything that was better than that at what it does. Yours is really neat. Saved queries are great.
- rathboma 6y agoData grip is great!
- morenoh149 6y agoNice design. If you could diagram schemas like dbeaver I'd try it out!
- rathboma 6y agoComing soon :-)
- nickreese 6y agoNice. Excited to try it out. Been using Postico for a while and having to hit a keybind for auto complete suggestions has been a drag.
- nickreese 6y agoGot a chance to play with it. * Look into your JSON/JSONB column support. Right now it just returns [object Object]. * I dig the tab interface. * I REALLY like the summary view when you expand the table on the left. * Select auto complete wasn't working very well for me even with the table defined and ctrl+space was offering completely problemsome options. Excited to keep playing with it. Going to test it as a daily driver.
- rathboma 6y agoThanks! Yeah JSON / JSONB support coming soon (tm). Auto-complete is a pet peeve. I'm using code-mirror for the editor and it has limitations. Can you screenshot what was not auto-completing? I find it helps if I first define a table, then the selects auto-complete well: select foo.<autocompleteworksgreat> from foo
- learningerrday 6y agoThis is amazing! And SSL option right off the bat too? Well done. Feature request for Postgres: it looks like this version mostly displays tables in the 'public' schema. Would be great if it could display all tables and views in all schemas present in the database
- rathboma 6y ago100. Yeah I had to draw the line and decide to ship. It's on the Todo list
- jordanlewis 6y agoThis is awesome. I love the simplicity. I tested it out with CockroachDB to satisfy my curiosity and it works perfectly, using the PostgreSQL driver. I think adding first-class support would be as easy as making a new driver that's the same as PostgreSQL but with a default port of 26257!
- rathboma 6y agoDamn had no idea. Awesome to know. Can you file an issue so I remember to do it?
- arkits 6y agoThis is pretty cool! Better SQL clients are always welcome. I tried with Postgres 12 and ran into 2 issues - - jsonb columns don't seem to render properly... just get a "[object Object]". - One specific table refused to get list anything, and there was a red "Error" in the center of the listing UI.
- rathboma 6y agoGood catches! Can you file a GitHub issue so I don't forget?
- capableweb 6y agoNot that it's a big thing, but seems weird to put the responsibility about you not forgetting something, on the person leaving the feedback, rather than just filing the issue yourself.
- abc03 6y agoWell, it's open source, so he volunteers his time. Maybe the feedback should have been filled to Github in the first place? Certainly he is not lazy if asking to do a favor but probably busy with something else.
- capableweb 6y agoSure, but if time is of such importance here, copy+pasting the feedback into a new issue is faster than replying to the author and ask them to file the issue. Then it might be that they don't because of X, so you have to file it yourself anyways. In both scenarios, just filling the issue yourself is faster
- rathboma 6y agoOh you just caught me trying to encourage community involvement :-). I don't just want users, I want contributors! At a minimum some issue engagement is very useful.
- Daktest 6y agoI got pretty excited about trying this out, since I've been using a no longer maintained (and pretty buggy) app called Sequel Pro. But, Beekeeper kind of seems slow/clunky? I ran a simple query in our prod DB that returned 906 rows x 60 columns – the app completely froze up and I couldn't even scroll down to the next few rows...
- skoskie 6y agoSwitch to Sequel Pro nightly build. You can install it with homebrew. It’s very stable despite the nightly moniker. I haven’t had a single issue with it and it resolved several issues I was having with the regular release.
- dougbarrett 6y agoYesterday after using Sequel Pro for years, I decided to give TablePlus a try and have been pleasantly surprised. Sequel Pro seems a bit snappier is some instances like when you run a few dozen (or thousand) queries from the editor, but TablePlus query auto complete is so much better than Sequel Pro, and I really like having to confirm changes rather than them running in real time as I update/create/delete things.
- gempir 6y agoThe nightlies have a lot of UI bugs, Filtering options disappear randomly, the left column is kinda weird etc. But still with all those UI bugs I prefer it over any other client.
- skoskie 6y agoI have not encountered any of that. And ditto on still preferring it.
- rathboma 6y agoI think wide tables are a performance problem with the table lib were using (tabulator). There may be ways to improve it. Frankly I don't have a 60 wide table to test with. Can you file an issue so I don't forget?
- goodSyntax 6y agoawesome job for a side project! looks very slick!
- jzer0cool 6y agoWhat are some of the comparisons with MySqlWorkbench? It's the only one I have stuck around using so far, so looking to shop around for a different client to try.
- anshulc95 6y agoAmazing!
- orsenthil 6y agoVery well done. Congratulations! I am fan of Sequel Pro on Mac, and never found something like that for Linux. I use adminer on Linux and willing to try your tool.
- pratio 6y agoKudos for the effort, however for SQL server it faces the same issues as most other clients. connecting using an domain\user and password doesn't work which means i can't jump ship. Is there a reason it works flawlessly on datagrip and other tools like sqlprostudio but apps like tableplus and beekepper can't?
- rathboma 6y agoWe'll get there with it. It requires some specific AD code to implement it. I just haven't had time to do it yet. These were compromises I needed in order to ship it (it already took us a year to build).
- sails 6y agoLooks like some nice, I'm a frequent Tableplus user, so nice to have a sleek multiplatform alternative. Quick Suggestions: * Snowflake, Bigquery, Azure support * A SQL linter (not easy!) Thanks for sharing!
- rathboma 6y ago- Yes yes yes, coming soon I hope :-) - For sure, on the radar, wanna help make one? :-P
- prisonality 6y agoLooking great ! Any plan for Query Plan diagram / visualisation ?
- rathboma 6y agoYep! On the todo list.
- zenexer 6y agoVery cool! I’ve been looking for a decent cross-platform SQL client for a while, so I can’t wait to try this out tomorrow. In case anyone is curious, here’s what I’ve tried so far: - DataGrip: bulky, slow, bugs never get fixed, non-FOSS - Azure Data Studio: great interface, but no MySQL or SQLite support - phpMyAdmin: clumsy, lacking in features, requires a web server—I’m really not the target demographic for this one - CLI clients plus a decent text editor: what I always end up falling back to; daily driver at the moment
- jacek 6y agoI would also recommend DBeaver[1]. Cross-platform with really nice features. [1] https://dbeaver.io/ https://dbeaver.io/
- phoyd 6y agoI second this recommendation. DBeaver is great and will work with almost every RDBMS you'll ever encounter.
- rathboma 6y agoI've used DBeaver in the past, but still felt compelled to make Beekeeper Studio. DBeaver is great for a DBA, but can you imagine giving it to someone learning SQL for the first time?
- Semaphor 6y ago> - DataGrip: bulky, slow, bugs never get fixed, non-FOSS Bugs linger indeed and non-FOSS is obvious. If by bulky, you mean start-up time (or resource usage which I don’t really care about), I agree, same as with all other JetBrains tools. But slow? Everything is so fast, much faster than SQL Manager Studio or Heidi SQL (which I just tried). Autocompletion for fields, tables, SPs, everything is lightning fast and always more context appropriate than any other solution I tried. I just checked Azure Data Studio as well and while completion was as quick, it wasn’t as context-appropriate and query results took far longer to display.
- jmngomes 6y ago
- mosselman 6y agoLooks cool. I haven't taken an in-depth look yet, but what I noticed is that when I press CMD+W it closes the whole window, rather than the tab I am in. This will land me in some trouble if I ever decide to use it as my main tool.
- rathboma 6y agoYes that is a problem. The app should be capturing that event to close tabs, but MacOS takes it over for some reason. I'll be doing keyboard shortcuts differently soon, so that will be fixed. Can you file an issue so I don't forget?
- nkkollaw 6y agoLooks great. Sequel Pro you mentioned is by far the best on Mac, none of the clients on Windows or Linux I tried even come close. This is great, and badly needed IMHO—specially if one can use a single app for both MySQL and SQL Server (Beaver DB is a usability nightmare). The name will put off a lot of people. To be honest, if someone in a team said "we should replace all our SQL clients with Beekeeper!" the first reaction would be to laugh at the name—which is not good. "SQL Keeper", "SQL Vault", "Sequalize", or anything like that would make people take the project more seriously. Congrats!
- rathboma 6y agoThanks! There's a history to the name, but I agree there are negatives. The positive is that it is distinct and can hopefully provide its own identity. Businesses use all sorts of software with silly names!
- sam_goody 6y agoThere is a delicious irony in using a BeeKeeper to connect to a Cockroach database.... The competitors are Squirrel and (D)Beaver, so it's all in the backyard.
- nkkollaw 6y agoSure, they do use them, but as a startup I'd personally think it's better to not making harder than it already is. What's the story behind the name..? :-)
- peteforde 6y agoI can't be the only person who was disappointed that this isn't Trello for Beekeepers.
- sandGorgon 6y agothis is so close to vscode UI, that I wonder - how difficult would it be to implement something like this on top of the vscode plugin system ?
- eb0la 6y agoDidn't expect to see a electron app for this. I don't know why, but I was expecting something based in Java. Just looked at the Github language stats for this project: TSQL 98.5% JavaScript 0.6% PLpgSQL 0.4% Vue 0.3% CSS 0.2% HTML 0.0%
- markdown 6y agoAnd here I am working on a Beekeeping app that I was going to call that. I guess I'll call it SQL Studio instead.
- aetherspawn 6y agoLooks fantastic, really nice web design as well. Makes me want to download it, even though I don't have an immediate need for this kind of tool.
- fabian2k 6y agoI couldn't find any way to change schema in Postgres, and it seems like it only lists tables in the public schema by default. That does unfortunately break it entirely if you use schemas at all.
- JonoBB 6y agoLooks nice! Running on Ubuntu 18.04. I see a lot of promise, but I've found 2 big issues right away: 1. I can't see how to manually edit data in the tables 2. The pagination (bottom right) doesn't work at all
- rathboma 6y ago1. We'll be working on this soon. 2. This should work just fine -- what db are you using? Can you file an issue with db information?
- hans_castorp 6y agoOnly the obnoxious "dark theme" -> removed
- danpalmer 6y agoNice, congrats on the launch. One thing I've been wanting for a while is a pluggable database client. I find being able to "see" a database helps me understand structure and concepts more. With FoundationDB one of the things that I've really struggled with is visualising the layers of the schema. I doubt there's a market for a FoundationDB GUI client, but being able to write a plugin for an existing client (I don't have good GUI skills) would be a great option.
- Grumbledour 6y agoA really small but still slightly annoying thing: Your website states "Your download will begin automatically.", but it won't if I have third party javascript blocked. Please also provide a (if it doesn't click [here]) option.
- tistoon 6y agoNice! Congrats!
- joelthelion 6y agoHow does it compare to dbeaver ?
- davedx 6y agoLooks nice and I've been looking for a client that works with SQL Server and Postgres for a while now. Giving it a try for sure. Feedback: 1) When I first setup a connection and save it, the modal stays there, should probably be dismissed at that point 2) It wasn't clear how to connect, so I double clicked which worked. Maybe an explicit 'connect' button next to each connection would be nice. 3) I really like how after connecting I'm straightaway in an ad hoc query window (a frustration with dbBeaver). It would be awesome if the MacOS version had TouchBar support at least for running (the currently selected) query - Azure Data Studio has this and I use it all the time. (Probably windows should use equivalent F-key here). 4) I think the default date formatting should more closely reflect the column type - so a datetime column should display in an ISO format, not human readable. 5) I like how Azure Data Studio displays nulls explicitly in the results (italicised "NULL"). This lets you easily distinguish between an empty string in your data and a null value. 6) I really like how it's just one click to expand a table to see its types, but I miss the other table metadata here (foreign keys, indices, etc). 7) I like how it's dark mode by default. :) Awesome job so far, will continue to use it. If it's interesting I would pay for this product (though less than DataGrip which I consider overpriced).
- rathboma 6y agoWow, great feedback, thanks! Yeah the data-formatting in the table is something I need to work on, everything is just treated as a string right now, just so I could ship in a reasonable amount of time. That will improve for sure. Other information for tables will be my next big feature release I think. Probably as a tab-view. Still not figured this out exactly yet. Thanks for the monitization callout, although I'm committed to keeping all core app features totally free forever. :-)
- xaerise 6y agoFor 3, SQL Management Studio has F5 and Ctrl+E for running the query. And support for running only The selected part of the query.
- hugofloss 6y agoThis is cool! Bug: I run Postgres locally that works without a username and password. Trying to connect to the database results in the error that I didn't provide a username. Can you remove the validation?
- rathboma 6y agoI think this is the driver I'm using, but I have it in line to fix for my next release, thanks!
- BitterAmethyst 6y agoLooks slick, does it support the SQLCipher variants of Sqlite?
- rathboma 6y agoNever heard of those tbh. Want to make an issue so I don't forget and I can look into it?
- sirwitti 6y agoWow, thanks for creating and sharing your work! Up until now I haven't seen a decent native SQL client on linux. Since I'm working with vue I will totally check out the source and how you put things togehter :)
- justusthane 6y agoI'm by no means a DBA, I just have to wear the hat sometimes. That said, I'm always hesitant to connect to production databases with relatively unproven products like this. How do I know there's not a bug that's going to wipe out my database? Is that a valid concern? I'm curious about other folks' take on this. (Looks great though!)
- sam_goody 6y agoFor anyone chancing on this thread, here's my recap. Note that I have little experience with these, so am trying to summarize, not give my own verdict. Competition: - DataGrip (~$150/yr, Clunky, Powerful) - TablePlus ($50, Pretty, Useful) - DBeaver (Free version, Clunky, Powerful) - SQuirrel (Free, Clunky, Usable) - Heidi (Free, Clunky, Usable) - Postico ($40, Pretty, Mac + Postgres only) - http://sequeljoe.ohwg.net http://sequeljoe.ohwg.net (Free, beta) - Azure (Free, Pretty, SQL server only) - Sequel Pro (Free, Pretty, Mac + Mysql only. IMO has issues with MySQL v8)
- joshstrange 6y ago- DataGrip - $89 first year, $71 second year, $53/year after that - Worth every penny for me and if you stop paying you get the last version - TablePlus - $59 and it is $59/year. You can pay once but to keep getting updates you have to keep paying like with DataGrip - DBeaver - Ugly but I agree, it's powerful - SQuirrel/Heidi/Postico/SequelJoe/Azure - Never used - Sequel Pro - God I loved this software and hung on to it way longer than I should have through the crashes and lack of updates (I would have paid in a heartbeat for it). Too bad it was MySQL-only
- oh-4-fucks-sake 6y agoLet me throw in Popsql (free for 2 saved DB connections, $12/mo for unlimited). I've used a handful of the above but Popsql has become my darling if only because the UI has a productive and inviting feel at a reasonable cost. It's obviously on the expensive side compared to OSS and one-time-licensing-fee products but when I'm firing off dozens of queries per day, it's worth it. As a bonus, their site offers live chat support directly with the engineers so the handful of times I've had some small issues, they've been super helpful.
- rathboma 6y agoThis was basically my list. I wanted FOSS, not clunky, all databases, not abandoned. Good FOSS dbs deserve good FOSS tooling. We're still light on features, but electron let's us move very quickly. Good round up.
- rathboma 6y ago
- sapir 6y agohttps://www.youtube.com/watch?v=G8Bt3jEhIwA https://www.youtube.com/watch?v=G8Bt3jEhIwA
- devm0de 6y agoTried connecting to MySQL 5.6.10a RDS Aurora cluster with username/password and SSL enabled, much as I'm able to do with other clients, but handshake fails with `140230041270248:error:100000f0:SSL routines:OPENSSL_internal:UNSUPPORTED_PROTOCOL:../../third_party/boringssl/src/ssl/handshake_client.cc:568` Maybe boringssl is too new for my version of mysql supported tls protocol versions?
- rathboma 6y agoCan you file a ticket with these details and I'll add it to my bug squish marathon!
- srb24 6y agogreat work! TBH Perhaps the best front end for editing tables I've ever used was.... wait for it... Access 2010(!) as you could use it (via ADP) for editing MS SQL Server databases - very quick/easy to edit table content, spell check, easily import/export to tables using excel files, ctrl-f to search, spell check etc. etc. everything I've used sincehas been a lot more powerful but lacked the speed and ease of editing table content.