Code Monkey home page Code Monkey logo

meow-sql's Introduction

MeowSQL ๐Ÿ™€

MeowSQL is an attempt to port a very useful GUI database client HeidiSQL to C++/Qt (with aim to be run natively at least on Linux)

MeowSQL Gif

Download/Install

Download installer for Windows or AppImage(how to run) for Linux on releases page.

Features

The app is in development stage at the moment and was never carefully tested, though it can be run and do some work (warning: do not use in production!!!).

  1. Works on Windows and Linux, in theory can be compiled on any platform with Qt5 and mysql-client support
  2. At the moment supports MySQL and PostgreSQL (early stage).
  3. Sessions manager: managing multiple connections (warn: no password encryption!)
  4. Connection to multiple sessions (=servers) at once (with multiple databases).
  5. Tree of db objects like databases and tables/views/striggers/functions/procedures - (MySQL + Postgres).
  6. Table: view columns (editable), indexes (editable) and foreign keys (editable) - (MySQL only).
  7. Table: view data (basic edit) - (MySQL + Postgres).
  8. SQL: editor with simple syntax highlighting (no autocomplete).
  9. SQL: execute multiple statements at once and see results of SELECT statements
  10. Create and drop tables - (MySQL only)
  11. Making dumps - (MySQL only via mysqldump)
  12. Initial SQLite 3 support (read-only)

Contributing

MeowSQL is a port of HeidiSQL, so just clone the sources and start rewriting Delphi code to Qt/C++ :

  1. Pick up any issue or any feature from roadmap.
  2. Replace TODOs with working code ๐Ÿ˜ธ
  3. Test the app and report bugs
  4. Star the repo โญ

Use/subbranch develop, not master branch.

How to build (for developers)

Note: both QMake and CMake are supported at the moment

Linux:

  1. You need gcc (or other compiler) with c++11 support
  2. Qt (tested with 5.6-5.15, apt-get install qt5-default) and QMake (Optionally: Qt Creator) or CMake
  3. Clone the repo
  4. libmysqlclient library, for deb-based distros: apt-get install libmysqlclient-dev
  5. (Optional) Debian: sudo apt-get install mysql-server
  6. (Optional) Install test db: https://dev.mysql.com/doc/sakila/en/
  7. PostgreSQL client library libpq, for deb-based apt-get install libpq-dev postgresql-server-dev-all
  8. As an option use Qt Creator - just open ./meow-sql.pro or ./CMakeLists.txt

Windows:

  1. Download and install Qt via online-installer https://www1.qt.io/download-open-source/#section-2 Version that worked for me is Qt 5.6.2 win32-msvc2013
  2. You would need a cpp compiler of course, I've got MS Visual Studio 2013 (Community)
  3. You should have QMake (plus I used Qt Creator) or CMake
  4. I've downloaded MySQL Connector C 6.1 (C not C++), and seems put all necessary files into third_party/
  5. I've downloaded PostgreSQL's libpq, and seems put all necessary files into third_party/ (Note: seems CMAKE still looks into C:/Program Files, so try to download and install PG 10.7 32bits here https://www.enterprisedb.com/downloads/postgres-postgresql-downloads)
  6. As an option use Qt Creator - just open ./meow-sql.pro or ./CMakeLists.txt
  7. After build (only release worked for me), run windeployqt (or copy all libs from installed app)

Mac OS:

  1. Install XCode
  2. Download and install Qt via online-installer https://www1.qt.io/download-open-source/#section-2 Install Version 5.9.8
  3. You need to download MySQL Connector C and libpq. I recommend to use homebrew and simply use brew install mysql-connector-c libpq
  4. make sure header files are available in /usr/local/include. If you installed via homebrew just create symlink ln -s /usr/local/opt/mysql-connector-c/include /usr/local/include/mysql/mysql and ln -s /usr/local/opt/libpq/include /usr/local/include/postgresql
  5. open ./meoq-sql.pro in Qt Creator and build
  6. If you get errors about missing .dylib Files (e.g. libJPEG.dylib) make sure you uncheck "Add build library search path to DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH" in Project Settings in Qt Creator (see https://stackoverflow.com/questions/35509731/dyld-symbol-not-found-cg-jpeg-resync-to-restart)

License

This project is licensed under the GPL 2.0 License

Acknowledgments

meow-sql's People

Contributors

mirsch avatar ragnar-lodbrok avatar

Stargazers

 avatar

Watchers

 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.