Migrations

Générer des Migrations

Premièrement, vous aurez besoin d’activer votre plugin dans l’administration

Deuxièmement, vous aurez besoin de générer votre schema.php:

./Console/cake schema generate -p yourPlugin

Vous devez éditer “schema.php” pour un peu de nettoyage et de refactoring. Puisque schema.php contient toutes les tables existantes de l’application, vous devrez les retirer manuellement avant de l’inclure dans votre schema de plugin. Par exemple, les tables “acos”, “aros”, “aros_acos” et “i18n” appartiennent au coeur de Croogo et doivent être retirées du fichier généré. De plus, les tables jointes ne sont pas ajoutées dans schema.php et vous devez les ajouter vous-même.

Ensuite, vous devez créer votre fichier de migrations. Son nom doit être unique:

./Console/cake Migrations.migration generate -p yourPlugin

Votre fichier de migrations est maintentant créé!

Appliquer les Migrations

Il est de votre responsabilité d’appliquer les migrations pendant l’activation de votre plugin. Vous devez créer (si le fichiern’existe pas) YourPluginActivation.php dans votre dossier Config: app/Plugin/YourPlugin/Config

Dans la méthode onActivation(&$controller), vous devez ajouter ces 3 lignes:

<?php
App::uses('CroogoPlugin', 'Extensions.Lib');
$CroogoPlugin = new CroogoPlugin();
$CroogoPlugin->migrate('YourPlugin');

Retirer les Migrations

Si vous voulez retirer toutes les migrations pendant la désactivation, vous avez juste besoin de ces 3 lignes dans la méthode onDeactivation(&$controller):

<?php
App::uses('CroogoPlugin', 'Extensions.Lib');
$CroogoPlugin = new CroogoPlugin();
$CroogoPlugin->unmigrate('YourPlugin');