Skip to content
This repository

A MySQL Schema Versioning and Migration Utility

branch: master
README
Schema Sync v0.9.2
+++++++++++++++++++
a MySQL schema synchronization utility
http://www.schemasync.org


SYNOPSIS
========
schemasync [options] <source> <target>

# source/target format: mysql://user:pass@host:port/database
# output format: <database>[_<tag>].YYYYMMDD.(patch|revert)[_<version>].sql


DESCRIPTION
===========
Schema Sync will generate the SQL necessary to migrate the schema of a source database to a target database (patch script), as well as a the SQL necessary to undo the changes after you apply them (revert script).

* Schema Sync does not alter your database. It only generates the .sql files containing the differences. You must apply the changes. 
* Schema Sync does not yet recognize Tables or Columns that have been renamed. A rename will result in the old table or column being dropped and the new one added. 
* All ADD|MODIFY COLUMN statements have the AFTER (or FIRST) SQL syntax even if no move is required. 
* COMMENTS and AUTO_INCREMENT values are not by synced by default. See help (-h) for details.
* Partitions (MySQL 5.1+) are not yet supported

OPTIONS
=================
-h, --help            show this help message and exit
-V, --version         show version and exit.
-r, --revision        increment the migration script version number
                      if a file with the same name already exists.
-a, --sync-auto-inc   sync the AUTO_INCREMENT value for each table.
-c, --sync-comments   sync the COMMENT field for all tables AND columns
--tag=TAG             tag the migration scripts as <database>_<tag>. 
                      Valid characters include [A-Za-z0-9-_]
--output-directory=OUTPUT_DIRECTORY
                    directory to write the migration scrips. 
                    The default is current working directory. 
                    Must use absolute path if provided.
--log-directory=LOG_DIRECTORY
                    set the directory to write the log to. 
                    Must use absolute path if provided. 
                    Default is output directory. 
                    Log filename is schemasync.log


Download and Install
====================

Prerequisites
-------------
* To run Schema Sync, you need to have:
    - Python 2.4, 2.5, or 2.6
    - MySQL <http://www.mysql.com/>, version 5.0 or higher
    - MySQLdb <http://sourceforge.net/projects/mysql-python>, version 1.2.1p2 or higher
    - SchemaObject <http://matuson.com/code/schemaobject> 0.5.3 or higher
* To run the test suite, you need to install a copy of the Sakila Database <http://dev.mysql.com/doc/sakila/en/index.html>, version 0.8

Standard Installation
---------------------
For installation instructions, see http://www.schemasync.org/install.htm


Status & License
================
Schema Sync 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/SchemaSync>, or fork it on Github <http://www.github.com>.

You can report bugs via the Schema Sync Issues page <http://github.com/mmatuson/SchemaSync/issues>

Comments, questions, and feature requests can be sent to code at matuson com
Something went wrong with that request. Please try again.