Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python database migration tool based on git's design.

Project description

pypi ghit.me License: MIT Join the chat at https://gitter.im/KennethanCeyer/PIGNOSE

What is the hiss?

hiss is simple cli tool to control the database schema. If you care a stable enterprise service, You need to know hiss cli.

If you designed the schema of development environment database, and you want to move it to a production server.

It would be difficult and unstable. hiss can help to migrate for deployment and also help to ETL for another database engine.

Installation

hiss can be installed pypi.

$ pip install hiss-cli

Features (Plan)

  • Supporting common databases (MySQL, MSSQL, PostgreSQL, MariaDB, Oracle)
  • Controlling revision history of changes the schema.
  • Commit, Rollback, Push, Reset, Tag, List, Show (The simple command designs based on Git.
  • ETL to another database and analyze (To another common databases or distribute engines: Athena, Presto, Impala, Druid, Hadoop system, or JSON, XML, CSV)

Design (Plan)

$ hiss init
$ hiss remote add origin database.endpoint.com:3306

> connecting... done.
> database `MySQL`, v5.7.11
> Type username: {username}
> Type password: {password}

$ hiss show databases
> couting databses: 32.
> databse_1_schema
> databse_2_schema
> databse_3_schema
> more...

$ hiss checkout database_1_schema
> switched to database `database_1_schema`.

$ hiss show tables
> counting tables: 160.
> information_schema
> table_1_sample
> table_2_sample
> table_3_sample

$ hiss set tables table_1_sample
> now your current table is `table_1_sample`.

$ hiss add column new_column int(64) pk auto_increment default 0 not null -m 'column comment'
> add column `new_column`, done.

$ hiss status
> counting changes: 1, done.
> add column 'new_column' int(64) primary auto_increment default 0 not null
> : column comment
> end

$ hiss commit -m 'add new column for testing'.
> 1 changes are committed, 1 add(+), 0 remove(-), 0 modified(=).

$ hiss reset HEAD^ --hard
> reset... done.
> : first commit message.

$ hiss tag -a v1.0 -m 'marking for first commition.'
> done.

Notice

This repository is still progress under development.

If you want to use the demo version, Please send a message via gitter (Check the above badge).

Thank you.

TODO

  • [] Continous Integration & Continous Deployment
  • [] Add UnitTest
  • [] Add commands: init, show, checkout
  • [] Integration with MySQL
  • [] Branding: LOGO

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for hiss-cli, version 0.0.6
Filename, size File type Python version Upload date Hashes
Filename, size hiss_cli-0.0.6-py2.py3-none-any.whl (10.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size hiss-cli-0.0.6.tar.gz (5.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page