Python database migration tool based on git's design.
Project description
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
Built Distribution
Hashes for hiss_cli-0.0.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdb80fb0d69c603370c363e09dcca6a2d5ef6f4a38c6a134a0c70b2934e6de38 |
|
MD5 | e73f833929fb95b9264cc40f6b5bd890 |
|
BLAKE2b-256 | 4a534d66156ed1d2bdf4d8d9287f05c09fc6a1910a8c89d16a732b8f700ed8fe |