{ "info": { "author": "Mark E. Haase", "author_email": "mehaase@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python :: 3 :: Only", "Topic :: Utilities" ], "description": "Agnostic Database Migrations\n============================\n\n.. image:: https://img.shields.io/pypi/v/agnostic.svg?style=flat-square\n :target: https://pypi.python.org/pypi/agnostic\n :alt: PyPI Version\n\n.. image:: https://img.shields.io/travis/TeamHG-Memex/agnostic.svg?style=flat-square\n :target: https://travis-ci.org/TeamHG-Memex/agnostic\n :alt: Build Status\n\n.. image:: https://img.shields.io/coveralls/github/TeamHG-Memex/agnostic.svg?style=flat-square\n :target: https://coveralls.io/github/TeamHG-Memex/agnostic?branch=master\n :alt: Code Coverage\n\nOverview\n--------\n\nAgnostic is a light-weight, easy-to-learn, and flexible database migration tool\nin which migration scripts are written in pure SQL. It is agnostic towards\ndatabase, programming language, and object relational mapper (ORM).\n\nSuper Quick Start\n-----------------\n\nHere is an absurdly brief introduction to Agnostic:\n\n.. code:: bash\n\n ~/myapp $ mkdir migrations\n\n ~/myapp $ agnostic -t postgres -u myuser -d mydb bootstrap\n Migration table created.\n\n ~/myapp $ cat > migrations/add_cell_phone.sql\n ALTER TABLE customer ADD cell_phone VARCHAR(255);\n ^D\n\n ~/myapp $ cat > migrations/add_nickname.sql\n ALTER TABLE customer ADD nickname VARCHAR(255);\n ^D\n\n ~/myapp $ agnostic -t postgres -u myuser -d mydb migrate\n Backing up \"mydb\" to \"/tmp/tmpm8glpgaa\".\n About to run 2 migrations in \"mydb\":\n * Running migration add_cell_phone (1/2)\n * Running migration add_nickname (2/2)\n Migrations completed successfully.\n Removing backup \"/tmp/tmpm8glpgaa\".\n\nFor a not-quite-as-quick-but-still-pretty-quick start, please refer to the\n`full documentation `_.\n\n----\n\n.. image:: https://hyperiongray.s3.amazonaws.com/define-hg.svg\n\t:target: https://www.hyperiongray.com/?pk_campaign=github&pk_kwd=agnostic\n\t:alt: define hyperiongray", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/TeamHG-Memex/agnostic", "keywords": "database migrations", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "agnostic", "package_url": "https://pypi.org/project/agnostic/", "platform": "", "project_url": "https://pypi.org/project/agnostic/", "project_urls": { "Homepage": "https://github.com/TeamHG-Memex/agnostic" }, "release_url": "https://pypi.org/project/agnostic/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "Agnostic Database Migrations", "version": "1.0.1" }, "last_serial": 4404483, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "c012be17dfb742f5b57c604b736b4270", "sha256": "5fdf86a2f539e5283c3862f7edd35d6b86de6c34e3c3205b165bf272f1b2cc09" }, "downloads": -1, "filename": "agnostic-0.1.tar.gz", "has_sig": false, "md5_digest": "c012be17dfb742f5b57c604b736b4270", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7606, "upload_time": "2015-05-26T14:25:34", "url": "https://files.pythonhosted.org/packages/7a/24/96d28ae41011bce8ba218b6f4bfc624509aeb7bfbd4b695dbba36c16e3d6/agnostic-0.1.tar.gz" } ], "0.10": [ { "comment_text": "", "digests": { "md5": "3a9bdd21874ea9d316f9763536851506", "sha256": "6fcaf6d3f0a5a8a588c8991ce46a2a70c75d28f84723b3e86fda19a91a952a31" }, "downloads": -1, "filename": "agnostic-0.10.tar.gz", "has_sig": false, "md5_digest": "3a9bdd21874ea9d316f9763536851506", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10639, "upload_time": "2016-03-18T03:04:58", "url": "https://files.pythonhosted.org/packages/a5/fe/6d7335cd64a384565190a8c288a7363725fc2909be7232260043a7147374/agnostic-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "796531df9eeb2cee6c0194ef0638e2c1", "sha256": "c656509ccfed2ae7da48420ef3505ae6abd66b6bab45b2d79ddb1cb89dac5faf" }, "downloads": -1, "filename": "agnostic-0.11.tar.gz", "has_sig": false, "md5_digest": "796531df9eeb2cee6c0194ef0638e2c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10764, "upload_time": "2016-10-21T16:44:38", "url": "https://files.pythonhosted.org/packages/60/ff/cbf701be23e7c057c82ff6ba985579c29b277c993b1fd15452cc7f5e3caf/agnostic-0.11.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "88038828f6f79b91d41d2fb4faa9ada9", "sha256": "c2952f55410765b3b64b623f2107197dfc4b4af177179379856ff97c74be5628" }, "downloads": -1, "filename": "agnostic-0.2.tar.gz", "has_sig": false, "md5_digest": "88038828f6f79b91d41d2fb4faa9ada9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7744, "upload_time": "2015-06-05T23:03:34", "url": "https://files.pythonhosted.org/packages/7f/6d/db119000d2245e5df54a59952472158af58f6688330615374539b93b7b8a/agnostic-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "a51cba0a6f29e5f21ffa1042d90993dc", "sha256": "0e7dce2b0a3250a128ccb02926813b196a4ce5ad976b5e7a0af8c27d5ad41ac1" }, "downloads": -1, "filename": "agnostic-0.3.tar.gz", "has_sig": false, "md5_digest": "a51cba0a6f29e5f21ffa1042d90993dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7741, "upload_time": "2015-06-10T19:01:02", "url": "https://files.pythonhosted.org/packages/d3/d3/695b4e20d0e26a4ca620c7f9c8cc3498a37534cdfb9c404a6bbc09ceb32e/agnostic-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "55cc231a9643f2ba0f835b8e15c63650", "sha256": "fbe8c1ce9e39f7fdd2c0722e7174683e062ada8d5566fe75f8e002d66b89c176" }, "downloads": -1, "filename": "agnostic-0.4.tar.gz", "has_sig": false, "md5_digest": "55cc231a9643f2ba0f835b8e15c63650", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7836, "upload_time": "2015-07-14T05:12:43", "url": "https://files.pythonhosted.org/packages/cf/d2/39f5702de94d90318b37024a2cf49d498cee33be437687b9fa73e574a0ef/agnostic-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "7a134d6be9a8b03227de2e5c50fd2d4b", "sha256": "4ff98babb597d5cfcddaeab36563f0dc2ad343d57158e789a60c739e28eb64b2" }, "downloads": -1, "filename": "agnostic-0.5.tar.gz", "has_sig": false, "md5_digest": "7a134d6be9a8b03227de2e5c50fd2d4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7840, "upload_time": "2015-10-01T02:54:40", "url": "https://files.pythonhosted.org/packages/c8/2a/b20f2900e6300e430dc5846fe8e581e960fe423211b972296c74bec27454/agnostic-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "ff632fc34417b735744d153c852e49d9", "sha256": "1ca0cffde09d2961fd78b5013b76737db6ad9ddcf8310aba86df70a73a0f00dd" }, "downloads": -1, "filename": "agnostic-0.6-py3.4.egg", "has_sig": false, "md5_digest": "ff632fc34417b735744d153c852e49d9", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 17667, "upload_time": "2016-03-07T20:59:24", "url": "https://files.pythonhosted.org/packages/52/31/4875f395ecad0d9a00e50b8b6663e43a5910243482a6e427b8ad4a08adc4/agnostic-0.6-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "82a9bd3629472f1a24748df1f25955e0", "sha256": "328830b87896d30df8d4bf33e3baf5d8adb432889049f2a30d8e67d3a1ca1d58" }, "downloads": -1, "filename": "agnostic-0.6.tar.gz", "has_sig": false, "md5_digest": "82a9bd3629472f1a24748df1f25955e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7892, "upload_time": "2015-10-01T03:33:46", "url": "https://files.pythonhosted.org/packages/3f/37/e220fcce629dbd9be3f119cc2f6799267b27f2075af96bed4d354cb06946/agnostic-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "954461fbb24c1ee7a4f389135c765a02", "sha256": "b01dd9112a58fb012804c41b4b801fab9934b7172432cb736989c65871f5d19b" }, "downloads": -1, "filename": "agnostic-0.7.tar.gz", "has_sig": false, "md5_digest": "954461fbb24c1ee7a4f389135c765a02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10473, "upload_time": "2016-03-07T20:59:35", "url": "https://files.pythonhosted.org/packages/7d/9e/7d67923ca1d5407d0e7dbc9a245a136a1a402b346170875e59328ae448da/agnostic-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "d2438239f2d15a3e4c4a01020f99b67a", "sha256": "b67e2ccd4f8e4cbe6a9b6ef0c1290cb42690b852aade85cf26fb4af0460d4dde" }, "downloads": -1, "filename": "agnostic-0.8.tar.gz", "has_sig": false, "md5_digest": "d2438239f2d15a3e4c4a01020f99b67a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10452, "upload_time": "2016-03-08T15:47:52", "url": "https://files.pythonhosted.org/packages/43/7c/0dd028f134d80780d78b5c0ee45769ca7d91a9221bd17c35c84bd6d75202/agnostic-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "99daddab845c45f056540c69bec34251", "sha256": "ae4d0ad8027522bf776b2e6ce723c0021f1de449a5b4b4b3550f2cbd9931e3e4" }, "downloads": -1, "filename": "agnostic-0.9.tar.gz", "has_sig": false, "md5_digest": "99daddab845c45f056540c69bec34251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10640, "upload_time": "2016-03-17T17:09:16", "url": "https://files.pythonhosted.org/packages/a2/35/ecdf9a13db6e1f0d20551824f6e4f4f1c5f4bbf8dae2bf572aabb9f7ecad/agnostic-0.9.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "3cb066dad708026bb64373cec1589f1f", "sha256": "4ade5f2056b93ce1c46c8f937372a18d2f859f8e8d5e8108a91d3bd2aa96245f" }, "downloads": -1, "filename": "agnostic-1.0.0.tar.gz", "has_sig": false, "md5_digest": "3cb066dad708026bb64373cec1589f1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11754, "upload_time": "2018-10-23T01:44:46", "url": "https://files.pythonhosted.org/packages/13/dd/a8dba20dcaa5a6734d2796ff01a209a15387f4e4cfd4c7017c9f81742090/agnostic-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "5cd8244d9c6d16b6322773aa9fedfbb1", "sha256": "4ec2ac13ab3c808be840751c58b1214e7316fd820f4d017d626f1bd875f04f10" }, "downloads": -1, "filename": "agnostic-1.0.1.tar.gz", "has_sig": false, "md5_digest": "5cd8244d9c6d16b6322773aa9fedfbb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12056, "upload_time": "2018-10-23T01:49:49", "url": "https://files.pythonhosted.org/packages/35/7f/30dfb7689a58ff1a2f9bf9ac9750c21e08744b96ad1490fd2d3407fbf480/agnostic-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5cd8244d9c6d16b6322773aa9fedfbb1", "sha256": "4ec2ac13ab3c808be840751c58b1214e7316fd820f4d017d626f1bd875f04f10" }, "downloads": -1, "filename": "agnostic-1.0.1.tar.gz", "has_sig": false, "md5_digest": "5cd8244d9c6d16b6322773aa9fedfbb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12056, "upload_time": "2018-10-23T01:49:49", "url": "https://files.pythonhosted.org/packages/35/7f/30dfb7689a58ff1a2f9bf9ac9750c21e08744b96ad1490fd2d3407fbf480/agnostic-1.0.1.tar.gz" } ] }