Le plugin Migrations est déjà installé (et activé dans la classe src/Application.php), si ce n'est pas le cas, faire ce qui suit :
Depuis le dossier du projet, en tant qu'utilisateur non-root :
php composer.phar require cakephp/migrations "@stable"
Cela doit mettre à jour la classe src/Application.php : ajout de la ligne $this→addPlugin('Migrations');
Exemple, pour créer une nouvelle table pantalons, nommer la migration config/Migrations/yyyymmddhhmmss_CreatePantalons.php :
<?php use Migrations\AbstractMigration; class CreatePantalons extends AbstractMigration { public function change() { $table = $this->table('pantalons'); $table ->addColumn('couleur', 'string', [ 'default' => 'noir', 'limit' => '255', 'null' => 'false']) ->addColumn('taille', 'integer', [ 'default' => 0, 'null' => 'false']) ->create(); } }
En ligne de commande, depuis le dossier du projet.
sudo bin/cake bake migration CreateArticles nom:string quantite:integer prix:float
Cela crée un fichier .php dans le dossier /config/Migrations.
On peut à tout moment voir le status des différentes migrations, si elles ont été appliquées ou pas.
Se placer à la racine du projet.
Sous Linux :
sudo bin/cake migrations status
Sous Windows :
bin\cake migrations status
Une fois qu'une ou plusieurs migrations ont été créées, on les applique dans la base de données en tapant cette commande :
sudo bin/cake migrations migrate