mtoolkit / mtoolkit-evolutions
Agile way to manage the releases of your database.
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 2
Type:project
Requires
- php: >=5.5.0
This package is not auto-updated.
Last update: 2024-12-21 20:02:34 UTC
README
Agile way to manage your database releases.
Why
In the agile world you have to deploy quickly the new implementations of the software. Tracking and managing the changes of the database is difficult and boring. MToolkit - Evolution tries to make this task easy. We have been inspired by Play Framework: https://www.playframework.com/documentation/2.0/Evolutions You can track the database evolutions in your project (in a dedicated folder) and you can apply them for the release.
How to use
In your project, create one or more (one per each environment) .ini file like this:
username = root
password = passwd
host = 127.0.0.1
type = mysql
dbname = mevolution_test
This file will be used to connect to the database where you apply or revert the evolutions.
In a folder put the evolutions files. The names of the files must be 1.sql, 2.sql, etc. The content of the files must be like this:
-- UP CREATE TABLE test01 ( id INT, field01 VARCHAR(255), field02 VARCHAR(255), start_date DATE, end_date DATE, PRIMARY KEY ( id, field01, start_date ) ); -- DOWN DROP TABLE test01;
UP and DOWN placeholders are mandatory. The UP queries will execute when you apply the evolutions. The DOWN queries will execute when you revert the evolutions.
Init
To initializate the database and before applying new evolutions, run the command:
php mevolution.phar init -s=path_to_the_ini_file -e=path_of_the_evolutions_folder
Apply evolutions
To apply the evolutions run:
php mevolution.phar apply -s=path_to_the_ini_file -e=path_of_the_evolutions_folder
Revert evolutions
To revert the evolutions run:
php mevolution.phar revert -s=path_to_the_ini_file -e=path_of_the_evolutions_folder
To revert to a specific evolution use "-to=" argument:
php mevolution.phar revert -s=path_to_the_ini_file -e=path_of_the_evolutions_folder -to=1
The "down" query "1" will be executed.
Create PHAR executable
MToolkit Evolution uses box-project to create the PHAR file.
To create the PHAR executable, run the following command in the root of the project:
php box.phar build -c manifest.json
Not supported
- Using DELIMITER in the evolutions file.