Skip to content

A terminal UI program for managing SQL databases

Notifications You must be signed in to change notification settings

sleepy-day/sqline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sqline

A Terminal UI tool for querying and managing SQL databases, Tcell is used for creating the terminal UI.

Build Instructions

A makefile has been provided for building the executable for Linux/Windows though I haven't tested the command on Windows to see if it will work, released built this way will be put in the folders release/linux and release/windows. It can also be compiled by running go build though CGO is required so a C compiler will need to be installed.

Project Structure

  • app
    • Set up for the main program itself and where everything is called from
  • components
    • Contains the UI elements, these are reused throughout the project
  • util
    • Contains the code for saving/loading the config and the gap buffer code
  • db
    • Contains implementations for database interfaces (Currently has a minimal Sqlite and very partial Postgres implementation)
  • views
    • Contains the different views which use components to make up different screens/menus

Features

  • Works with Sqlite and can be expanded to others through the use of an interface
  • Custom terminal UI components such as:
    • Text Editor
    • Lists
    • Tree Lists
    • Tables
    • Forms
    • Textbox
    • Radio Selectors
    • Buttons
    • Status Bar
  • Gap buffer implementation for the text editor
  • Saving and loading connections to and from a config file
    • Will save any connections saved within the program to the config dir based on your OS from the os.UserConfigDir function, keep this in mind if running the program in case you don't want it saved locally
  • Displays Tables and their columns, data from queries, results from updates/inserts and indexes and their attributes

Showcase

Insert Index CreateTableAndOpenList CreateMultipleTables CreateAndConnect

About

A terminal UI program for managing SQL databases

Resources

Stars

Watchers

Forks

Packages

No packages published