ipmt


Nameipmt JSON
Version 2.2 PyPI version JSON
download
home_pagehttps://github.com/inplat/ipmt
SummarySchema migration tools for PostgreSQL
upload_time2023-07-24 11:07:02
maintainer
docs_urlNone
authorInPlat
requires_python>=3.7,<4.0
licenseApache-2.0
keywords ipmt
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            IPMT
====

.. image:: https://img.shields.io/pypi/v/ipmt.svg
    :target: https://pypi.python.org/pypi/ipmt

.. image:: https://img.shields.io/travis/inplat/ipmt.svg
    :target: https://travis-ci.org/inplat/ipmt

.. image:: https://codecov.io/gh/inplat/ipmt/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/inplat/ipmt

.. image:: https://readthedocs.org/projects/ipmt/badge/?version=latest
    :target: http://ipmt.readthedocs.io/ru/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://pyup.io/repos/github/inplat/ipmt/shield.svg
    :target: https://pyup.io/repos/github/inplat/ipmt/
    :alt: Updates

.. image:: https://landscape.io/github/inplat/ipmt/master/landscape.svg?style=flat
   :target: https://landscape.io/github/inplat/ipmt/master
   :alt: Code Health

Иструмент миграций СУБД PostgreSQL


Возможноти
----------
* Версионирование схемы БД
* Ветвление в версиях
* Управление привилегиями с помощью yaml файлов


Документация
-------------
http://ipmt.readthedocs.io/ru/latest/


Установка
---------
Для установки выполните в консоли::

    $ pip install ipmt


Использование
-------------

Выполните в консоли::

    # инициализация репозитория
    ipmt init
    # создание первой версии
    ipmt create baseline
    # отредактируйте файл миграции разместив SQL в
    # первом аргументе db.execute функции up для
    # наката миграции и в аналогичном месте функции
    # down для отката миграции
    vim versions/000001#baseline.py
    # накат версии на указанную БД
    IPMT_DSN=username@hostname/dbname ipmt up

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/inplat/ipmt",
    "name": "ipmt",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7,<4.0",
    "maintainer_email": "",
    "keywords": "ipmt",
    "author": "InPlat",
    "author_email": "dev@inplat.ru",
    "download_url": "https://files.pythonhosted.org/packages/55/a1/1dabc65856f0253920d9f0275b079c68499080e7bf4ce9fb46ef72ec1b4c/ipmt-2.2.tar.gz",
    "platform": null,
    "description": "IPMT\n====\n\n.. image:: https://img.shields.io/pypi/v/ipmt.svg\n    :target: https://pypi.python.org/pypi/ipmt\n\n.. image:: https://img.shields.io/travis/inplat/ipmt.svg\n    :target: https://travis-ci.org/inplat/ipmt\n\n.. image:: https://codecov.io/gh/inplat/ipmt/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/inplat/ipmt\n\n.. image:: https://readthedocs.org/projects/ipmt/badge/?version=latest\n    :target: http://ipmt.readthedocs.io/ru/latest/?badge=latest\n    :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/inplat/ipmt/shield.svg\n    :target: https://pyup.io/repos/github/inplat/ipmt/\n    :alt: Updates\n\n.. image:: https://landscape.io/github/inplat/ipmt/master/landscape.svg?style=flat\n   :target: https://landscape.io/github/inplat/ipmt/master\n   :alt: Code Health\n\n\u0418\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0439 \u0421\u0423\u0411\u0414 PostgreSQL\n\n\n\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0442\u0438\n----------\n* \u0412\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0445\u0435\u043c\u044b \u0411\u0414\n* \u0412\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u0432\u0435\u0440\u0441\u0438\u044f\u0445\n* \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u044f\u043c\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e yaml \u0444\u0430\u0439\u043b\u043e\u0432\n\n\n\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\n-------------\nhttp://ipmt.readthedocs.io/ru/latest/\n\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n---------\n\u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438::\n\n    $ pip install ipmt\n\n\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n-------------\n\n\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438::\n\n    # \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\n    ipmt init\n    # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438\n    ipmt create baseline\n    # \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0432 SQL \u0432\n    # \u043f\u0435\u0440\u0432\u043e\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0435 db.execute \u0444\u0443\u043d\u043a\u0446\u0438\u0438 up \u0434\u043b\u044f\n    # \u043d\u0430\u043a\u0430\u0442\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0438 \u0432 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\n    # down \u0434\u043b\u044f \u043e\u0442\u043a\u0430\u0442\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438\n    vim versions/000001#baseline.py\n    # \u043d\u0430\u043a\u0430\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u0411\u0414\n    IPMT_DSN=username@hostname/dbname ipmt up\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Schema migration tools for PostgreSQL",
    "version": "2.2",
    "project_urls": {
        "Homepage": "https://github.com/inplat/ipmt"
    },
    "split_keywords": [
        "ipmt"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "99cf20ccbba2ecf77342b5b695c95a1f8394597d5e69120a51322a5373245a4a",
                "md5": "39382192a0e4c36e2456384e3ae97b4c",
                "sha256": "f0c89aee72e241cda3f213017bcc6bbf8a6f1ca53635ef81faf54d2a92ff7633"
            },
            "downloads": -1,
            "filename": "ipmt-2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "39382192a0e4c36e2456384e3ae97b4c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7,<4.0",
            "size": 26350,
            "upload_time": "2023-07-24T11:07:00",
            "upload_time_iso_8601": "2023-07-24T11:07:00.445281Z",
            "url": "https://files.pythonhosted.org/packages/99/cf/20ccbba2ecf77342b5b695c95a1f8394597d5e69120a51322a5373245a4a/ipmt-2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "55a11dabc65856f0253920d9f0275b079c68499080e7bf4ce9fb46ef72ec1b4c",
                "md5": "14aa79a561cdd0d6ce52df695421ed99",
                "sha256": "63a04d30554319b083cc48bcf60c1165a7d5a8b8fde11b18a3f0b0ae9b10ac49"
            },
            "downloads": -1,
            "filename": "ipmt-2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "14aa79a561cdd0d6ce52df695421ed99",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7,<4.0",
            "size": 25291,
            "upload_time": "2023-07-24T11:07:02",
            "upload_time_iso_8601": "2023-07-24T11:07:02.137357Z",
            "url": "https://files.pythonhosted.org/packages/55/a1/1dabc65856f0253920d9f0275b079c68499080e7bf4ce9fb46ef72ec1b4c/ipmt-2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-24 11:07:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "inplat",
    "github_project": "ipmt",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ipmt"
}
        
Elapsed time: 0.10196s