Repository navigation
french Getting Started
- Récuperer le code sur GitHub (git clone or a zip)
- Vérifier les exigences
- PHP 5.3
- Optionel, le [framework PHPUnit] (http://phpunit.de/ "PHPUnit framework") si vous souhaitez lancer les tests unitaires.
- L'extension PDO_MySQL
(Toutes les commandes suivantes suppose que vous avez changé votre répertoire de travail à la racine du framework). TODO Les fichiers binaires pourront se trouver n'importe où sur le système.
- Modifier
config/application.iniet renseignez les informations nécessaires au bon fonctionnement de Phigrate. - Modifiez
config/database.iniet entrer les informations appropriées pour votre base de données.
Pour plus d'explications, voir la page configuration.
- Toutes les commandes dans le framework sont préfixées avec
phigratesuivi par le nom de la tâche et les arguments additionnels. Ceci suppose que votre binairephpse trouve dans votre$PATH.- Exemples:
phigrate db:setup
phigrate db:version
phigrate db:migrate- Initialiser votre base de données avec la table
schema_migrationsafin qu'elle puisse commencer le suivi de la version courante. Cela doit être fait avec la commande suivante:
phigrate db:setup Exécutez la commande suivante:
phigrate-generate create_users_tableLe second argument est spécifique à l'utilisateur et est une liste de mots
délimitée par des soulignés(undescores) qui décrivent votre migration en termes
humainement compréhensible. Les exemples pourraient être
add_index_to_cities_table ou create_orders_table ou
rename_expertise_column_in_users, etc...
Attention Le nom de la classe étant créé à partir de ce nom, vous ne pouvez
pas avoir deux fichiers migration avec les mêmes termes. Une erreur vous sera
retournée si tel est le cas.
Chaque fois que le générateur est lancé, il crée un fichier avec comme préfix la
date actuelle (YYYMMDDHHmmss). Par exemple, la commande ci-dessus pourrait
générer un fichier tel que db/migrate/20101103105103_CreateUsersTable.php. Le
nom du fichier (et le nom de la classe) est une chaîne CamelCase le même
argument que vous avez passé à la commande.
Ouvrez ensuite le fichier généré dans votre éditeur de texte préféré.
La classe a deux méthodes, up() et down(). La méthode up() est là pour
effectuer les actions à mener lorsque vous exécutez les migrations vers le
haut de la chaîne des migrations, toutes les migrations qui n'ont pas été
exécutées depuis la dernière version dans la base de données, qui sont basées
dans l'ordre croissant des timestamp. La méthode down() est là pour effectuer
les actions qui doivent être effectuées lorsque vous descendez dans la chaîne.
Dans la plupart des cas, la méthode down() vous permet de défaire ce que vous
avez fait avec la méthode up(). Si vous créez une nouvelle table dans la
méthode up(), alors vous souhaiterez la supprimer dans la méthode down().
Dans un monde parfait, vous seriez en mesure d'émettre de façon transparente les
appels de migrations haut et bas et votre SGBDR serait en parfaite
synchronisation. Autrement dit, vous ne voulez pas créer une table dans une
méthode up() donnée, alors ne la supprimez pas parce que si vous vouliez
migrer totalement vers le haut / bas, alors votre SGBDR ne vous permettrait pas
de créer la même table deux fois.
phigrate db:migrateCette commande va exécuter toutes les migrations disponibles, vous informer sur la sortie standard et mettre à jour votre table d'information de schéma avec la version appropriée.
Pour un exemple complet de migrations en action, voir des [[exemples concrets|french Complete Examples]].