Skip to content
This repository has been archived by the owner on Jan 29, 2022. It is now read-only.

Latest commit

 

History

History
124 lines (91 loc) · 2.94 KB

README.md

File metadata and controls

124 lines (91 loc) · 2.94 KB

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