{ "info": { "author": "Max Ischenko", "author_email": "ischenko@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development" ], "description": "sqlturk\n=======\n\nOverview\n--------\n\nThis tool helps you to keep track and evolve your database schema (SQL).\n\nIt works like this. Whenever you make changes to the database schema you put them into a \"migration\" - simply an .sql file with a sequence of SQL statements. Sqlturk keeps track of which migrations have been applied and runs them in a guaranteed order. \n\nDesign\n------\n\nThere are plenty of tools to approach the problem of database schema\nmigration. Here is how sqlturk is different:\n\n* **one-way migrations**. There is no way to \"rollback\" a migration. In my\n experience, \"downgrade\" scripts are almost never used yet writing them adds considerable burden onto the developer. Their presense may add a false sense of security -- since they used so rarely there is a big chance they will not work properly anyway.\n\n* **Python-agnostic**. Sqlturk operates in terms of SQL DDL. It does not work in terms of SQLAlchemy ORM models or Django's and thus it can be used in a much wider context. Plain SQL also means that a competent DBA who knows nothing about Python can author these scripts. Or they could be generated automatically by another tool.\n\n* **no magic**. I wanted a tool that works in an obvious, easy-to-understand way. Changing database schema can have big consequences so it is important to be able to see what's going on. \n\nNot convinced? A couple of more sophisticated tools: `Django South `_ and `sqlalchemy-migrate `_.\n\nAPI usage\n---------\n\nShort example::\n\n >>> from sqlturk.migration import MigrationTool\n >>> tool = MigrationTool('sqlite:///:memory:', migration_dir='testmigrations')\n >>> tool.install() # create a database table to track schema changes\n >>> tool.find_migrations()\n ['1_foobar', '2_foobar_data', '10_foobar_delete']\n >>> tool.run_migrations()\n >>> tool.find_migrations() # check that all migrations have been applied\n []\n\nExample migration scripts can be found\n`in the sqlturk' source `_. Sqlturk uses SQLAlchemy syntax to specify database connection string, see its `documentation `_ for details.\n\n.. vim:set ft=rst tw=0:", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/max/sqlturk/", "keywords": "sql database schema migration evolution migrate sqlalchemy", "license": "Apache License, Version 2.0", "maintainer": null, "maintainer_email": null, "name": "sqlturk", "package_url": "https://pypi.org/project/sqlturk/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/sqlturk/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://bitbucket.org/max/sqlturk/" }, "release_url": "https://pypi.org/project/sqlturk/0.9.1/", "requires_dist": null, "requires_python": null, "summary": "Database schema migration tool that works in SQL", "version": "0.9.1" }, "last_serial": 800019, "releases": { "0.9": [ { "comment_text": "", "digests": { "md5": "0d4475ca2868254c1fbf312ebec62225", "sha256": "1d47b7f3337f92b205dcdd025556c4f770e3d4bddb1b83ae18bcf16ca358fde0" }, "downloads": -1, "filename": "sqlturk-0.9-py2.5.egg", "has_sig": false, "md5_digest": "0d4475ca2868254c1fbf312ebec62225", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 6633, "upload_time": "2009-10-14T11:54:37", "url": "https://files.pythonhosted.org/packages/21/99/a005c7ab0313e8eea23653f4092e48ec4a2a336435b638a57017df665617/sqlturk-0.9-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "9f1561da3a2fd1ecbc340e09920469dd", "sha256": "05ee10e38140353f05cf45c69239bd66c39157250cdc88028e89fce8f69b28a0" }, "downloads": -1, "filename": "sqlturk-0.9.tar.gz", "has_sig": false, "md5_digest": "9f1561da3a2fd1ecbc340e09920469dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3126, "upload_time": "2009-10-14T11:54:37", "url": "https://files.pythonhosted.org/packages/60/bb/62a2f5696ec1241b79276d3180fcf84c95e98ef8c4d1ac28b73b086d6202/sqlturk-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "9a3d45da4908ea792c18a657c8a5cf66", "sha256": "9d2c71a3247d927fc21b41f783420e50580098afef5f151699169d4b89c4905f" }, "downloads": -1, "filename": "sqlturk-0.9.1-py2.5.egg", "has_sig": false, "md5_digest": "9a3d45da4908ea792c18a657c8a5cf66", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 7746, "upload_time": "2009-10-14T13:01:00", "url": "https://files.pythonhosted.org/packages/f7/af/a0de73c15d41fff15864b3c63922634edcc698152f07eec783aecaaacfc0/sqlturk-0.9.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "1e3266b38399acbb3cd28a8b9a84f70f", "sha256": "4636354e4d3faf58e5bcc974b154f29973a6b998de1b331415b81303c3f2b3e2" }, "downloads": -1, "filename": "sqlturk-0.9.1-py2.6.egg", "has_sig": false, "md5_digest": "1e3266b38399acbb3cd28a8b9a84f70f", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 8078, "upload_time": "2009-10-15T10:31:14", "url": "https://files.pythonhosted.org/packages/da/44/b943356b47b1e374a6e6110100b1a9a00162d755dbe1cd9da6aa7989bbe6/sqlturk-0.9.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "df704b801fbb9086ae7e0a25aed630de", "sha256": "a9db43e5557689cdad45db9bcfcf182dfea8d867c3312f75559161b44ac534c4" }, "downloads": -1, "filename": "sqlturk-0.9.1.tar.gz", "has_sig": false, "md5_digest": "df704b801fbb9086ae7e0a25aed630de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4153, "upload_time": "2009-10-14T13:01:00", "url": "https://files.pythonhosted.org/packages/3b/18/818ebd8a6f288deaafded4edaf8698de195bee07887fdc0b55726d1b75fc/sqlturk-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9a3d45da4908ea792c18a657c8a5cf66", "sha256": "9d2c71a3247d927fc21b41f783420e50580098afef5f151699169d4b89c4905f" }, "downloads": -1, "filename": "sqlturk-0.9.1-py2.5.egg", "has_sig": false, "md5_digest": "9a3d45da4908ea792c18a657c8a5cf66", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 7746, "upload_time": "2009-10-14T13:01:00", "url": "https://files.pythonhosted.org/packages/f7/af/a0de73c15d41fff15864b3c63922634edcc698152f07eec783aecaaacfc0/sqlturk-0.9.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "1e3266b38399acbb3cd28a8b9a84f70f", "sha256": "4636354e4d3faf58e5bcc974b154f29973a6b998de1b331415b81303c3f2b3e2" }, "downloads": -1, "filename": "sqlturk-0.9.1-py2.6.egg", "has_sig": false, "md5_digest": "1e3266b38399acbb3cd28a8b9a84f70f", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 8078, "upload_time": "2009-10-15T10:31:14", "url": "https://files.pythonhosted.org/packages/da/44/b943356b47b1e374a6e6110100b1a9a00162d755dbe1cd9da6aa7989bbe6/sqlturk-0.9.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "df704b801fbb9086ae7e0a25aed630de", "sha256": "a9db43e5557689cdad45db9bcfcf182dfea8d867c3312f75559161b44ac534c4" }, "downloads": -1, "filename": "sqlturk-0.9.1.tar.gz", "has_sig": false, "md5_digest": "df704b801fbb9086ae7e0a25aed630de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4153, "upload_time": "2009-10-14T13:01:00", "url": "https://files.pythonhosted.org/packages/3b/18/818ebd8a6f288deaafded4edaf8698de195bee07887fdc0b55726d1b75fc/sqlturk-0.9.1.tar.gz" } ] }