{ "info": { "author": "Michael Howitz", "author_email": "mail@gocept.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Framework :: Buildout", "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only", "Topic :: Database" ], "description": "====================\r\ngocept.rdbmanagement\r\n====================\r\n\r\nThis is a zc.buildout recipe that helps managing schema updates on relational\r\ndatabases.\r\n\r\nIt currently only supports PostgreSQL.\r\n\r\nDefining a managed database\r\n===========================\r\n\r\nA managed database has to be created (CREATEDB) outside of this recipe. The\r\nrecipe only takes care of initialising an existing database and upgrading the\r\nschema subsequently.\r\n\r\nPart definitions look like::\r\n\r\n [managed_db]\r\n recipe = gocept.rdbmanagement\r\n dbname = mydatabase\r\n eggs = projectegg\r\n schema = projectegg.schemadir\r\n\r\n host = localhost\r\n user = username\r\n password = apassword\r\n\r\nWhere\r\n\r\n dbname\r\n is the name of the PostgreSQL database to work with\r\n\r\n eggs\r\n is a list of egg requirements that should be activated before looking\r\n up the schema directory resource path\r\n\r\n schema\r\n is a setuptools resource path that is a `managed schema directory`\r\n\r\nManaged schema directories\r\n==========================\r\n\r\nA schema directory contains a set of SQL and Python files that are used to\r\nmanage the schema for a database. A typical directory looks like this::\r\n\r\n $ ls schemadir\r\n __init__.py\r\n init.sql\r\n precondition3.py\r\n update1.sql\r\n update2.sql\r\n update3.sql\r\n\r\nNotice: A managed schema directory has to be a Python package.\r\n\r\ninit.sql\r\n--------\r\n\r\n * Creates the schema beginning from an empty database.\r\n\r\n * After init.sql the current generation will be set to the highest generation\r\n number as available from the update scripts. Therefore the init.sql always\r\n creates a current database schema and no updates will be run.\r\n\r\nupdateX.sql\r\n-----------\r\n\r\n * Update scripts MUST start with a BEGIN statement and end with a COMMIT\r\n statement.\r\n\r\n * Update script X will be run from a database at generation X-1.\r\n\r\npreconditionX.py\r\n----------------\r\n\r\n * Script must contain a function called ``precondition`` which takes one\r\n parameter which is an open DB-API2-connection to the database.\r\n\r\n * Precondition script X will be run on a database at generation X-1.\r\n\r\n * Precondition script X has to raise an exception to indicate that the\r\n database MUST not be updated to generation X.\r\n\r\n\r\nChanges\r\n=======\r\n\r\n1.0 (2015-07-06)\r\n----------------\r\n\r\n- Implement ability to use a password when accessing the database, requiring at\r\n least PostgreSQL 9.0 for this feature.\r\n\r\n- Require at least Python 2.7.\r\n\r\n0.1.2\r\n-----\r\n\r\n- allow newer versions than exactely psycopg2==2.0.6\r\n\r\n0.1.1\r\n-----\r\n\r\n- first public release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/gocept.rdbmanagement", "keywords": "buildout rdb", "license": "ZPL 2.1", "maintainer": "", "maintainer_email": "", "name": "gocept.rdbmanagement", "package_url": "https://pypi.org/project/gocept.rdbmanagement/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gocept.rdbmanagement/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/gocept.rdbmanagement" }, "release_url": "https://pypi.org/project/gocept.rdbmanagement/1.0/", "requires_dist": null, "requires_python": null, "summary": "Recipe for managing RDB schemas", "version": "1.0" }, "last_serial": 1621463, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "830f513dc45877388a37ada5971ee86c", "sha256": "032ee7ee3433468fdae7f060c8c3bb4b44917eb4f52d61598e0249e17093da82" }, "downloads": -1, "filename": "gocept.rdbmanagement-0.1.1.tar.gz", "has_sig": false, "md5_digest": "830f513dc45877388a37ada5971ee86c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4637, "upload_time": "2008-04-30T15:03:22", "url": "https://files.pythonhosted.org/packages/8d/07/651e17f42e0a441d493ec91a4ba5be9faf5644bba9111cc0f114a1c0757f/gocept.rdbmanagement-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1d37a16248e649ab0267fdfd8b2cea74", "sha256": "cb7a81081ed6ead9019a1b3f4ee9c81e9c423d68df8dc691540f0b32ad3ae2e3" }, "downloads": -1, "filename": "gocept.rdbmanagement-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1d37a16248e649ab0267fdfd8b2cea74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4673, "upload_time": "2008-05-20T13:23:06", "url": "https://files.pythonhosted.org/packages/ae/0e/3c731ab3150b1860742ca4b94124106ce8b6024ae4210227fa6f3204a624/gocept.rdbmanagement-0.1.2.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "0826b88795a888e1c7f92ef432c9d3bb", "sha256": "39b245b77b77c4313819678cb1ec71c3c90af49e274951079236cbfe8ee80007" }, "downloads": -1, "filename": "gocept.rdbmanagement-1.0.tar.gz", "has_sig": false, "md5_digest": "0826b88795a888e1c7f92ef432c9d3bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4989, "upload_time": "2015-07-06T11:34:29", "url": "https://files.pythonhosted.org/packages/a9/be/1a08f58b152fb3b5127ab593df0d479568e9bcf585c49b8618cddf9193e1/gocept.rdbmanagement-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0826b88795a888e1c7f92ef432c9d3bb", "sha256": "39b245b77b77c4313819678cb1ec71c3c90af49e274951079236cbfe8ee80007" }, "downloads": -1, "filename": "gocept.rdbmanagement-1.0.tar.gz", "has_sig": false, "md5_digest": "0826b88795a888e1c7f92ef432c9d3bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4989, "upload_time": "2015-07-06T11:34:29", "url": "https://files.pythonhosted.org/packages/a9/be/1a08f58b152fb3b5127ab593df0d479568e9bcf585c49b8618cddf9193e1/gocept.rdbmanagement-1.0.tar.gz" } ] }