Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kennethanceyer/hiss
:snake: python database migration tool based on git's design
https://github.com/kennethanceyer/hiss
cli control database hiss hiss-cli revision version
Last synced: about 6 hours ago
JSON representation
:snake: python database migration tool based on git's design
- Host: GitHub
- URL: https://github.com/kennethanceyer/hiss
- Owner: KennethanCeyer
- License: apache-2.0
- Created: 2017-08-21T12:36:41.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-04-16T10:46:23.000Z (over 6 years ago)
- Last Synced: 2024-09-15T21:59:33.797Z (18 days ago)
- Topics: cli, control, database, hiss, hiss-cli, revision, version
- Language: Python
- Homepage:
- Size: 37.1 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
|pypi| |wheel| |travis| |License: Apache-2.0| |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``.
.. code:: bash
$ 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)
-------------.. code:: bash
$ 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.. |pypi| image:: https://badge.fury.io/py/hiss-cli.svg
:target: https://badge.fury.io/py/hiss-cli
.. |wheel| image:: https://img.shields.io/pypi/wheel/pycodestyle.svg
:target: https://badge.fury.io/py/hiss-cli
.. |travis| image:: https://travis-ci.org/KennethanCeyer/hiss.svg?branch=master
:target: https://travis-ci.org/KennethanCeyer/hiss
.. |License: Apache-2.0| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
:target: https://opensource.org/licenses/Apache-2.0
.. |Join the chat at https://gitter.im/KennethanCeyer/PIGNOSE| image:: https://badges.gitter.im/Join%20Chat.svg
:target: https://gitter.im/KennethanCeyer/PIGNOSE?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge