forked from mmatuson/SchemaObject
-
Notifications
You must be signed in to change notification settings - Fork 0
Iterate over a MySQL database schema as a Python object
License
oldoni/SchemaObject
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SchemaObject v0.5.4 documentation +++++++++++++++++++++++++++++++++ SchemaObject provides a simple, easy to use Python object interface to a MySQL database schema. You can effortlessly write tools to test, validate, sync, migrate, or manage your schema as well as generate the SQL necessary to make changes to the it. Example 1: Verify all tables are InnoDB --------------------------------------- import schemaobject schema = schemaobject.SchemaObject('mysql://username:password@localhost:3306/mydb') tables = schema.databases['mydb'].tables #or schema.selected.tables for t in tables: assert tables[t].options['engine'].value == 'InnoDB' Example 2: Verify our MySQL instance is at least version 5.1 ------------------------------------------------------------ import schemaobject schema = schemaobject.SchemaObject('mysql://username:password@localhost:3306/mydb') assert schema.version >= '5.1.0' Notes and Limitations --------------------- * SchemaObject instances are read-only. Modifying the object or calling create(), modify(), alter(), or drop() will not change your schema. * The MySQL User needs to have privileges to execute SELECT and SHOW statements, as well as access the INFORMATION_SCHEMA. * All Databases, Tables, Columns, Indexes, and Foreign Keys are lazily loaded. * SchemaObject does not load Events, Triggers, or Stored Procedures. Download and Install ==================== Prerequisites ------------- * SchemaObject has been tested against Python 2.4, 2.5, and 2.6. * To use SchemaObject, you need to have MySQL <http://www.mysql.com/>, version 5.0 or higher and MySQLdb <http://sourceforge.net/projects/mysql-python>, version 1.2.1p2 or higher installed. * To run the test suite, you need to install a copy of the Sakila Database <http://dev.mysql.com/doc/sakila/en/sakila.html>, version 0.8 Installing with easy_install ---------------------------- sudo easy_install schemaobject Installing the latest development version ----------------------------------------- git clone git://github.com/mmatuson/SchemaObject.git cd schemaobject sudo python setup.py install Documentation ============= Documentation is available @ http://matuson.com/code/schemaobject/ Status & License ================ SchemaObject is under active development and released under the Apache License, Version 2.0 <http://www.apache.org/licenses/LICENSE-2.0>. You can obtain a copy of the latest source code from the Git repository <http://github.com/mmatuson/SchemaObject>, or fork it on Github <http://www.github.com>. You can report bugs via the SchemaObject Issues page <http://github.com/mmatuson/SchemaObject/issues> Comments, questions, and feature requests can be sent to code at matuson dot com
About
Iterate over a MySQL database schema as a Python object
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Python 100.0%