MySQL table patcher


0. Contents

   1. Purpose
   2. Changes
   3. Copying
   4. Requirements
   5. Downloading

1. Purpose

Reads a table creation file (tables.sql) and compares it to what mysqldump gives, and creates SQL clauses to update the database to match the creation file.
sqlupdate v1.6.5 - Copyright (C) Joel Yliluoma (http://iki.fi/bisqwit/)

Usage:
    sqlupdate [options] >changes.sql
       (Creates an update script)

Options:
    -t tablefile          Describes the file containing
                          the new sql layout. Default: tables.sql
    -d database           Default: winnie3
    -h host               Default: localhost
    -u user               Default: root
    -i                    Use CREATE INDEX instead of ALTER..ADD KEY
    -m                    Add comments explaining the differences
    -c                    Ignore character set differences
    -p pass
    -r                    Reverse operation. (new->old)

Example:
  ./sqlupdate -t etimgr.sql -d etimgr | mysql -uroot

This program does not update a database. It only
produces update scripts (which show the differences).

2. Changes

Since version 1.3.0, supports also the InnoDB FOREIGN KEY constraints.

Since version 1.4.0, supports TINYINT, DATE, TIME and ENUM types.
Thanks to Leigh Purdie for this change!

Version 1.4.1 adds support for CREATE INDEX and field ordering.

Since version 1.5.0, supports LONGTEXT, MEDIUMTEXT and MEDIUMBLOB. Also now longer forces DEFAULT for AUTOINCREMENT columns.
Thanks to Frederic Lamsens for this change!

In version 1.6.0, a crude support for CHARSET and COLLATE was added.

In version 1.6.1, support for GEOMETRY and SPATIAL indexes was added.

Version 1.6.2: Added -c option (ignore character set differences).

In version 1.6.3, support for more spatial datatypes was added.

In version 1.6.4, a bug in the support of ENUM was fixed. Thanks to Martin Vít for this change!

In version 1.6.5, support was added for different index types in PRIMARY KEY.

In version 1.6.6, support was added for BIT, COMMENT, SET, TINYTEXT and CURRENT_TIMESTAMP. Thanks to Markus Ebeling for this change!

3. Copying

sqlupdate has been written by Joel Yliluoma, a.k.a. Bisqwit,
and is distributed under the terms of the General Public License (GPL).

4. Requirements

GNU make is probably required.
mysqldump is also required. This program handles only MySQL tables indeed.

5. Downloading

Downloading help

  • Do not download everything - you only need one file (newest version for your platform)!
  • Do not use download accelerators or you will be banned from this server before your download is complete!

The most recent source code (bleeding edge) for sqlupdate can also be downloaded by cloning the Git repository by:

Date (Y-md-Hi) acc        Size Name                
2012-0225-1403 r--       32645 sqlupdate-1.6.6.tar.bz2
2012-0225-1403 r--       34922 sqlupdate-1.6.6.tar.gz
2009-0325-1602 r--       32372 sqlupdate-1.6.5.2.tar.bz2
2009-0325-1602 r--       34568 sqlupdate-1.6.5.2.tar.gz
2008-1214-0145 r--       32367 sqlupdate-1.6.5.1.tar.bz2
2008-1214-0145 r--       34547 sqlupdate-1.6.5.1.tar.gz
2008-1014-1302 r--       32152 sqlupdate-1.6.5.tar.bz2
2008-1014-1302 r--       34320 sqlupdate-1.6.5.tar.gz
2008-0317-2140 r--      139308 sqlupdate-1.6.4-win32.zip
2007-0510-1322 r--       29146 sqlupdate-1.6.4.tar.bz2
2007-0510-1322 r--       31110 sqlupdate-1.6.4.tar.gz
2007-0510-1322 r--        2276 patch-sqlupdate-1.6.3.1-1.6.4.bz2
2007-0510-1322 r--        2078 patch-sqlupdate-1.6.3.1-1.6.4.gz
2007-0510-1322 r--        3608 patch-sqlupdate-1.6.3-1.6.4.bz2
2007-0510-1322 r--        3443 patch-sqlupdate-1.6.3-1.6.4.gz
2007-0129-1300 r--       29049 sqlupdate-1.6.3.1.tar.bz2
2007-0129-1300 r--       30917 sqlupdate-1.6.3.1.tar.gz
2007-0129-1300 r--        2572 patch-sqlupdate-1.6.3-1.6.3.1.bz2
2007-0129-1300 r--        2446 patch-sqlupdate-1.6.3-1.6.3.1.gz
2006-0802-1453 r--       28739 sqlupdate-1.6.3.tar.bz2
2006-0802-1453 r--       30585 sqlupdate-1.6.3.tar.gz
2006-0802-1453 r--        2389 patch-sqlupdate-1.6.2-1.6.3.bz2
2006-0802-1453 r--        2276 patch-sqlupdate-1.6.2-1.6.3.gz
2006-0614-1217 r--       28465 sqlupdate-1.6.2.tar.bz2
2006-0614-1217 r--       30192 sqlupdate-1.6.2.tar.gz
2006-0614-1217 r--        1942 patch-sqlupdate-1.6.1-1.6.2.bz2
2006-0614-1217 r--        1767 patch-sqlupdate-1.6.1-1.6.2.gz
2006-0504-1713 r--       28394 sqlupdate-1.6.1.tar.bz2
2006-0504-1713 r--       30103 sqlupdate-1.6.1.tar.gz
2006-0504-1713 r--        2523 patch-sqlupdate-1.6.0-1.6.1.bz2
2006-0504-1713 r--        2310 patch-sqlupdate-1.6.0-1.6.1.gz
2006-0428-1656 r--       28328 sqlupdate-1.6.0.tar.bz2
2006-0428-1656 r--       30039 sqlupdate-1.6.0.tar.gz
2006-0428-1656 r--        5224 patch-sqlupdate-1.5.0-1.6.0.bz2
2006-0428-1656 r--        5260 patch-sqlupdate-1.5.0-1.6.0.gz
2005-1206-1924 r--       26952 sqlupdate-1.5.0.tar.bz2
2005-1206-1924 r--       28696 sqlupdate-1.5.0.tar.gz
2005-1206-1924 r--        1723 patch-sqlupdate-1.4.1-1.5.0.bz2
2005-1206-1924 r--        1559 patch-sqlupdate-1.4.1-1.5.0.gz
2005-0901-1554 r--       26856 sqlupdate-1.4.1.tar.bz2
2005-0901-1554 r--       28572 sqlupdate-1.4.1.tar.gz
2005-0901-1554 r--        6543 patch-sqlupdate-1.4.0-1.4.1.bz2
2005-0901-1554 r--        6741 patch-sqlupdate-1.4.0-1.4.1.gz
2005-0612-0618 r--       25591 sqlupdate-1.4.0.tar.bz2
2005-0612-0618 r--       26933 sqlupdate-1.4.0.tar.gz
2005-0612-0618 r--       10011 patch-sqlupdate-1.3.1-1.4.0.bz2
2005-0612-0618 r--       10501 patch-sqlupdate-1.3.1-1.4.0.gz
2004-1210-1257 r--       23549 sqlupdate-1.3.1.tar.bz2
2004-1210-1257 r--        1420 patch-sqlupdate-1.3.0-1.3.1.bz2
2004-1118-1238 r--       23483 sqlupdate-1.3.0.tar.bz2
2004-1118-1238 r--        9575 patch-sqlupdate-1.2.0-1.3.0.bz2
2004-0618-1238 r--       21229 sqlupdate-1.2.0.tar.bz2
2004-0618-1238 r--        2842 patch-sqlupdate-1.1.2-1.2.0.bz2
2004-0423-1138 r--       20978 sqlupdate-1.1.2.tar.bz2
2004-0423-1138 r--       12900 patch-sqlupdate-1.1.1-1.1.2.bz2
2004-0423-1138 r--       16010 patch-sqlupdate-1.0-1.1.2.bz2
2002-1015-1610 r--       21658 sqlupdate-1.1.1.tar.bz2
2002-1015-1610 r--        6143 patch-sqlupdate-1.1.0.1-1.1.1.bz2
2002-1015-1622 r--        6231 patch-sqlupdate-1.1.0-1.1.1.bz2
2002-0604-1511 r--       19380 sqlupdate-1.1.0.1.tar.bz2
2002-0604-1510 r--        1105 patch-sqlupdate-1.1.0-1.1.0.1.bz2
2002-0602-1222 r--       19332 sqlupdate-1.1.0.tar.bz2
2002-0602-1222 r--        4005 patch-sqlupdate-1.0.2-1.1.0.bz2
2002-0502-0016 r--       17599 sqlupdate-1.0.2.tar.bz2
2002-0502-0016 r--        7171 patch-sqlupdate-1.0.1-1.0.2.bz2
2002-0424-2038 r--       10833 sqlupdate-1.0.1.tar.bz2
2002-0424-2038 r--        4065 patch-sqlupdate-1.0-1.0.1.bz2
2002-0219-1453 r--        8518 sqlupdate-1.0.rar
2002-0219-1453 r--        8326 sqlupdate-1.0.tar.bz2
Back to the source directory index at Bisqwit's homepage