2017 © Pedro Peláez
 

project mtoolkit-evolutions

Agile way to manage the releases of your database.

image

mtoolkit/mtoolkit-evolutions

Agile way to manage the releases of your database.

  • Friday, February 12, 2016
  • by mtoolkit
  • Repository
  • 1 Watchers
  • 0 Stars
  • 8 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 2 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

MToolkit - Evolution

Agile way to manage your database releases., (*1)

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., (*2)

How to use

In your project, create one or more (one per each environment) .ini file like this:, (*3)

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., (*4)

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:, (*5)

-- 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., (*6)

Init

To initializate the database and before applying new evolutions, run the command:, (*7)

php mevolution.phar init -s=path_to_the_ini_file -e=path_of_the_evolutions_folder

Apply evolutions

To apply the evolutions run:, (*8)

php mevolution.phar apply -s=path_to_the_ini_file -e=path_of_the_evolutions_folder

Revert evolutions

To revert the evolutions run:, (*9)

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:, (*10)

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., (*11)

Create PHAR executable

MToolkit Evolution uses box-project to create the PHAR file., (*12)

To create the PHAR executable, run the following command in the root of the project:, (*13)

php box.phar build -c manifest.json 

Not supported

  • Using DELIMITER in the evolutions file.

The Versions

12/02 2016

dev-master

9999999-dev

Agile way to manage the releases of your database.

  Sources   Download

LGPL-3.0+

The Requires

  • php >=5.5.0

 

10/02 2016

1.2.0

1.2.0.0

Agile way to manage the releases of your database.

  Sources   Download

LGPL-3.0+

The Requires

  • php >=5.5.0

 

01/02 2016

1.1.1

1.1.1.0

Agile way to manage the releases of your database.

  Sources   Download

LGPL-3.0+

The Requires

  • php >=5.5.0

 

01/02 2016

1.1.0

1.1.0.0

Agile way to manage the releases of your database.

  Sources   Download

LGPL-3.0+

The Requires

  • php >=5.5.0

 

23/01 2016

1.0.0

1.0.0.0

Agile way to manage the releases of your database.

  Sources   Download

LGPL-3.0+

The Requires

  • php >=5.5.0