←back to thread

190 points MaxTeabag | 3 comments | | HN request time: 0.487s | source

I work mostly in the terminal but found myself constantly switching to bloated GUIs like SSMS only for the simple task of browsing tables and run queries. And I didn't find Existing SQL TUIs intuitive, having to read documentation to learn keybindings and CLI flags to connect. Given I had recently switched to linux, I found myself using vs code's sql database extension. Something was awfully wrong.

I wanted something like lazygit for databases – run it, connect, and query and frankly just make it enjoyable to access data.

  Sqlit is a keyboard-driven SQL TUI with:

  - Context-based keybindings (always visible)
  - Neovim-like interface with normal and insert mode for query editing
  - Browse databases, tables, views, stored procedures
  - Adapters for SQL Server, SQLite, PostgreSQL, Turso & more
  - SSH tunneling support
  - Themes (Tokyo Night, Nord, Gruvbox etc.)

  Inspired by lazygit, neovim and lazysql. Built with Python/Textual.
Feedback welcome – especially on which adapters to prioritize next. My vision of sqlit is to make a tool that makes it easy to connect and query data, and to do that, and that thing only, really well.

https://github.com/Maxteabag/sqlit

1. caminanteblanco ◴[] No.46295685[source]
This looks awesome! Is there a way to log in some way that doesn't leave your credentials saved in a text file or your bash history? I would use this at work, but I think my sysadmin would eat me alive if I was storing the login credentials in plaintext
replies(2): >>46300558 #>>46304479 #
2. nodesocket ◴[] No.46300558[source]
Agree, the ability to define an in-memory only connection seems super useful.
3. MaxTeabag ◴[] No.46304479[source]
That's a really good point.

I am going to implement the option to leave the password blank, so you'll get prompted for a password on connection every time, so nothing will get stored.

In the next release I am going to use Keyring to store credentials on the operating system's credential store. Stay tuned :)