dev-master
9999999-dev https://traackr.com/SQL migration plugin for CakePHP
The Development Requires
SQL migration plugin for CakePHP
This is a CakePHP plugin to manage database schema updates, (*1)
To install this plugin you can:, (*2)
app/Plugin
directory, preferably in a directory called SqlMigration
composer.json
file: "minimum-stability": "dev", "require": { "traackr/sql-migration": "dev-master" }
All upgarde scripts are SQL scripts and are run via mysql
therefore the mysql
executable you want to use must be in your path for the plugin to work., (*3)
This plugin uses a database table (schema_versions
) to keep track of schema upgrades. To get started you need to setup the plugin, which will create that table for you. Once the plugin is installed, simply do (in your app
directory):, (*4)
Console/cake SqlMigration.SqlMigration setup
It is safe to run this command multiple times. On subsequent calls, the command will simply try to apply any changes to the schema_versions
table if any is requires (this might happen if/when you upgrade to a new version of this plugin)., (*5)
Upgarde scripts are simple SQL scripts and need to live in the following directory: app/Config/Sql
.
Ths script's names must follow this naming convention: upgrade-<version-number>.sql
, (*6)
To run the upgrade scripts on your schema, simply call:, (*7)
Console/cake SqlMigration.SqlMigration
The SqlMigration plugin will run all the upgrade scripts that have not been applied yet (based on the information found in the schema-versions
table). The version numbers to not have to be continuous (ie. you can skip some versions), the plugin will apply the scripts in sequence and skip missing versions. If you later add a new upgrade scripts for any missing version (e.g. one was created in a branch and merged with the main core later), these scripts will be applied the next time you run the plugin (i.e. it will try to fill the gaps)., (*8)
SQL migration plugin for CakePHP