Skip to content

jetyou/OmniDB

Repository files navigation

Documentation Status

Next Release: 2.16.0 - June 13, 2019

OmniDB 2.15.0

Release Date: April 11, 2019

Release Notes

  • New features:
    • Local and remote terminal emulator
    • PostgreSQL: Support to event triggers and event trigger functions
  • Improvements:
    • Monitoring units can now use past data, allowing users to create historical charts
    • Improved security: disabled TLSv1.0 and TLSv1.1
    • Support to file .my.cnf for MySQL and MariaDB connections
    • App graphical stack upgraded to Electron 4.1 and GTK 3
    • Grid component HandsOnTable upgraded to 7.0
    • Improved thread safety
    • Improved websocket connection handling in the client side
  • Bug fixes:
    • Fixed error on EditData when primary key was of type date or timestamp
    • Fixed display and handling of array types
    • Fixed handling of BC and infinity dates
    • Fixed bug involving SELECT INTO statements
    • Fixed error message not completely copyable from error popup
    • Fixed bug when sorting connection grid
    • Fixed bug when changing user password
    • Fixed bug when creating connections from omnidb-config (CLI)
    • Fixed bug that sporadically breaks query tab usability after query is cancelled
    • Fixed bug in drag and drop of tabs in Firefox
  • Changes in deployment
    • Dropped support for 32 bits builds
    • Linux deployment machines migrated from Vagrant to Docker
  • Changes in test pipeline
    • PostgreSQL, Oracle, MySQL and MariaDB test machines migrated from Vagrant to Docker
    • New Vagrant machines for User Acceptance Tests (with graphical environment to test OmniDB app)

1- Installation

1.1- Installation packages

Just go to omnidb.org, download the appropriate file for your operating system and architecture and install it.

You can also install from repositories (as root):

1.2- Debian / Ubuntu repository

apt install apt-transport-https dirmngr
echo "deb https://dl.bintray.com/wind39/omnidb-deb debian main" > /etc/apt/sources.list.d/omnidb.list
apt-key adv --recv-keys 379CE192D401AB61
apt update

apt install omnidb-app        # for the app; or
apt install omnidb-server     # for the server; or
apt install omnidb-plugin     # for the plugin

1.3- CentOS 7 / Fedora repository

cat > /etc/yum.repos.d/omnidb.repo <<EOF
[omnidb]
name=omnidb
baseurl=https://dl.bintray.com/wind39/omnidb-rpm
gpgcheck=0
repo_gpgcheck=0
enabled=1
EOF

yum install omnidb-app        # for the app; or
yum install omnidb-server     # for the server; or
yum install omnidb-plugin     # for the plugin

2- From sources

If your purpose is to use OmniDB, we recommend installing latest packages as explained above. But if you are developing for OmniDB, then you can install it from sources, with system-wide pip or user-wide PyEnv:

2.1- On Debian >= 9 with pip

sudo apt install python3-pip
pip3 install pip --upgrade
pip3 install -r requirements.txt

2.2- On Debian/Ubuntu using PyEnv

sudo apt install git make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

pyenv install 3.5.2
cd OMNIDB_FOLDER
pyenv local 3.5.2

pip install pip --upgrade
pip install -r requirements.txt

2.3- Cloning OmniDB repo

git clone https://github.com/OmniDB/OmniDB

2.4- Running OmniDB from sources

To start Django server, enter into OmniDB/OmniDB folder and type:

python omnidb-server.py

2- Introduction

OmniDB is a web tool that simplifies database management focusing on interactivity, designed to be powerful and lightweight. Check-out some characteristics:

  • Web Tool: Accessible from any platform, using a browser as a medium
  • Responsive Interface: All available functions in a single page
  • Unified Workspace: Different technologies managed in a single workspace
  • Simplified Editing: Easy to add and remove connections
  • Safety: Multi-user support with encrypted personal information
  • Interactive Tables: All functionalities use interactive tables, allowing copying and pasting in blocks
  • Smart SQL Editor: Contextual SQL code completion
  • Beautiful SQL Editor: You can choose between many available color themes
  • Tabbed SQL Editor: Easily add, rename or delete editor tabs

Technologies:

  • Python (3.6+)
  • Django

Supported Platforms:

  • Linux
  • Windows
  • OS X

Supported DBMS:

  • PostgreSQL
  • Oracle
  • MySQL / MariaDB
  • Firebird
  • SQLite
  • Microsoft SQL Server
  • IBM DB2

3- Database Schema Management

OmniDB is designed for easy database management. Here are some features:

  • Tree view showing database structure

  • Powerful table creation
    • Editing capabilities:
      • Tables' names
      • Columns: name, type and nullable
      • Primary keys and respective columns
      • Foreign keys with either table and reference columns, including updating rules and removal as well
      • Indexes

  • Table editing: Edit table structure according to DBMS limitations
  • Data management: Add, edit and remove records

  • SQL Editing
    • Syntax highlighting for SQL
    • SQL code completion for table columns and subquery
    • Multiple themes to be selected

  • Support for external tools:

  • Other features:

    • Querying organized in tables
    • DDL commands execution
    • SQL history
    • Graphs displaying tables and their relations

  • Graphs displaying complete ER diagram

  • Visualization of explain plan

  • PL/pgSQL function debugger (requires a plugin, please see here)

  • Monitoring dashboard

About

Web tool for database management

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 85.6%
  • Python 11.4%
  • CSS 1.3%
  • HTML 0.4%
  • SQLPL 0.4%
  • TSQL 0.4%
  • Other 0.5%