Skip to main content

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.

Source Distribution

hiss-cli-0.0.6.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

hiss_cli-0.0.6-py2.py3-none-any.whl (10.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file hiss-cli-0.0.6.tar.gz.

File metadata

  • Download URL: hiss-cli-0.0.6.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for hiss-cli-0.0.6.tar.gz
Algorithm Hash digest
SHA256 e670a5ecbbf0dc0510f41464e719535927c1e468c5ba043ca53e924051667bdd
MD5 7471d72c0b045da2be7fecf208266964
BLAKE2b-256 6f249a4e9f42ddf7abf43cf10954a8e08fb12b1b2448b2d108861909afb2db6c

See more details on using hashes here.

File details

Details for the file hiss_cli-0.0.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for hiss_cli-0.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cdb80fb0d69c603370c363e09dcca6a2d5ef6f4a38c6a134a0c70b2934e6de38
MD5 e73f833929fb95b9264cc40f6b5bd890
BLAKE2b-256 4a534d66156ed1d2bdf4d8d9287f05c09fc6a1910a8c89d16a732b8f700ed8fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page