GithubHelp home page GithubHelp logo

linpr / lazysql Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jorgerojas26/lazysql

0.0 0.0 0.0 1.07 MB

A cross-platform TUI database management tool written in Go.

License: MIT License

Go 100.00%

lazysql's Introduction

Contributors Forks Stargazers Issues MIT License LinkedIn

LAZYSQL

A cross-platform TUI database management tool written in Go.

Table of Contents
  1. About The Project
  2. Features
  3. Getting Started
  4. Usage
  5. Keybindings
  6. Roadmap
  7. Contributing
  8. License
  9. Contact
  10. Acknowledgments

About The Project

Product Name Screen Shot Product Name Screen Shot

This project is heavily inspired by Lazygit, which i think is the best TUI client for Git.

I wanted to have a tool like that, but for SQL. I didn't find one that fits my needs so i created one myself.

I live in the terminal, so if you are like me, this tool can become handy for you too.

This is my first Open Source project, also, this is my first Golang project. I am not a brilliant programmer. I am just a typical Javascript developer that wanted to learn a new language, i also wanted a TUI SQL Client, so, white and bottled.

This project is in ALPHA stage, please feel free to critize my spaghetti code.

I use Lazysql daily in my ful time job as a fullstack javascript developer in it's current (buggy xD) state. So, the plan is to improve and fix my little boy as a side project in my free time.

Built With

Golang Golang

Features

  • Cross-platform (macOS, Windows, Linux)
  • VIM Keybindings
  • Can manage multiple connections (Backspace)
  • Tabs
  • SQL Editor (CTRL + e)

Getting Started

Installation

Binary Releases

For Windows, Mac OS or Linux, you can download a binary release here

Install with go package manager

go install github.com/jorgerojas26/lazysql@latest

Install from package manager

Archlinux users can install it from the AUR with:

paru -S lazysql

or

yay -S lazysql

or install it manual with:

git clone https://aur.archlinux.org/lazysql.git
cd lazysql
makepkg -si

(back to top)

Usage

$ lazysql

(back to top)

Support

  • MySQL
  • Postgres
  • SQLite
  • MSSQL
  • MongoDB

Support for multiple RDBMS is a work in progress.

Keybindings

Global

Key Action
q Quit
CTRL + e Open SQL editor
Backspace Return to connection selection

Table

Key Action
c Edit table cell
d Delete row
o Add row
/ Focus the filter input or SQL editor
CTRL + s Commit changes
> Next page
< Previous page
K Sort ASC
J Sort DESC
H Focus tree panel
[ Focus previous tab
] Focus next tab
X Close current tab

Tree

Key Action
L Focus table panel

SQL Editor

Key Action
CTRL + R Run the SQL statement

Example connection URLs

postgres://user:pass@localhost/dbname
pg://user:pass@localhost/dbname?sslmode=disable
mysql://user:pass@localhost/dbname
mysql:/var/run/mysqld/mysqld.sock
sqlserver://user:[email protected]/dbname
mssql://user:[email protected]/instance/dbname
ms://user:[email protected]:port/instance/dbname?keepAlive=10
oracle://user:[email protected]/sid
sap://user:pass@localhost/dbname
sqlite:/path/to/file.db
file:myfile.sqlite3?loc=auto
odbc+postgres://user:pass@localhost:port/dbname?option1=

Roadmap

  • Support for NOSQL databases
  • Columns and indexes creation through TUI
  • Table tree input filter
  • Custom keybindings
  • Show keybindings on a modal
  • Rewrite row create, update and delete logic

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions, issues and pull requests are welcome!

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Jorge Rojas - Linkedin - [email protected]

(back to top)

Alternatives

(back to top)

lazysql's People

Contributors

jorgerojas26 avatar konart avatar kevengoncalves avatar danprueitt avatar gusjelly avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.