Skip to content
This repository was archived by the owner on Jan 29, 2022. It is now read-only.
/ goat Public archive

Database frontend written in QT5 using widgets. At some point it should provide an alternative to tools like mysql workbench and pgadmin.

License

Notifications You must be signed in to change notification settings

mispp/goat

Repository files navigation

Goat

Database frontend written in QT5 using widgets. At some point it should provide an alternative to tools like mysql workbench and pgadmin.

Goal for the project is to be something between HeidiSQL and Toad.

You should probably also take a look at Sqlgull.

Snap Status

Introduction

This app was made for 2 reasons:

  1. Necessity: there was no app in native toolkit available for linux that has querying functionality (there is a plugin for kate in kde, but this just doesnt work for me; not sure about gnome).
  2. Learning: obtain/improve my qt, c++ and git skills. I'm not a c++ developer, so please excuse shitty code quality.

Note: what i learned so far is that i shouldn't commit directly to master.

What works:

  • multiple database options
    • postgres
    • mysql
    • sqlite
    • odbc
  • connection manager
    • warning: connection manager currently saves unencrypted passwords
  • querying
    • ctrl-enter for current query (as in toad)
    • button click which executes selection
    • canceling long running queries
  • basic syntax highlighter
  • opening and saving files
  • coloring
    • NULL values in results grid
    • results grid shows data in different color based on datatype
  • export data
    • c/p from results grid
    • export dialog which re-executes query and saves data to csv
  • autosave state
    • window size

Todos:

  • execute query as a script
  • db2 support
  • windows version
  • further improve connection manager
    • option to save or not to save password (per connection)
    • encrypted passwords
  • settings dialog
  • import data
  • general code quality improvement

To be considered:

  • evaluate scintilla/qscintilla or ktextedit/ktexteditor
  • move from qt classes to native libs (e.g. libpq)

Installing

Opensuse

Tumbleweed:

zypper ar https://download.opensuse.org/repositories/home:/misp/openSUSE_Tumbleweed/ goatrepo zypper ref zypper in goat 

Leap 15:

zypper ar https://download.opensuse.org/repositories/home:/misp/openSUSE_Leap_15.0/ goatrepo zypper ref zypper in goat 

Ubuntu 18.04

sudo apt install build-essential g++ qt5-default mkdir build cd build qmake .. make ./goat 

Archlinux

pacaur -S goat-git 

Snap

snap install goat --edge --devmode 

Contributing

Contributions are very welcome!

Following is needed:

  • logo
  • packaging

and not to mention

  • Qt skills

Recognitions

UI icons used are called Silk. From here.

Database icons are Papirus. From here.

Screenshots

Main window and connection manager

Connection manager

Main window and export data dialog

Export data

About

Database frontend written in QT5 using widgets. At some point it should provide an alternative to tools like mysql workbench and pgadmin.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •