Skip to content

french Home

Manuel Hervo edited this page Sep 10, 2012 · 6 revisions

Introduction

Phigrate est un framework écrit en PHP5 pour générer et gérer un ensemble de "migrations de bases de données". Les migrations de base de données sont des fichiers déclaratifs qui représentent l'état d'une BDD (ses tables, colonnes, index, etc...) à un état particulier à un instant T. En utilisant les migrations de bases de données, plusieurs développeurs peuvent travailler sur la même application et ont la garantie que l'application est dans un état cohérent sur toutes les machines des développeurs.

L'idée du framework a été emprunté au système de migration intégrée dans Ruby on Rails. Quiconque est familier avec les migrations dans RoR sera immédiatement à l'aise.

Fonctionnalités

  • Portabilité: les fichiers de migration, qui décrivent les tables, colonnes, index, etc... à créer ont eux-mêmes été écrit en PHP5 qui est ensuite traduit dans le langage SQL approprié à l'exécution. Cela permet d'avoir la transparence du SGBDR avec un seul jeu de fichiers de migration (en supposant qu'il existe un adaptateur pour lui, voir ci-dessous).

  • Extensibilité: le framework a été écrit avec l'idée de l'extensibilité et il est très modulaire. Le support pour les SGBDRs doit être aussi facile que de créer l'adaptateur approprié et l'implémentation d'une interface unique.

  • "rake" pour les tâches de base. Le framework a un concept de "tâches" (en fait l'objectif principal du framework, les migrations, est juste une tâche ordinaire) qui sont juste de simple classes en PHP5 qui implémentent une interface. Les tâches peuvent être écrites librement et aussi longtemps qu'elles adhèrent à la convention de nommage spécifique et implémente l'interface spécifique, le framework va automatiquement les enregistrer et leur permettre d'être exécutées.

  • La possibilité de MONTER ou DESCENDRE à un état de migration spécifique.

  • Un générateur de code pour générer les squelettes des fichiers de migration.

  • Le support Out-of-the-box pour les tâches de base comme l'initialisation de la table du schéma d'information de la BDD (db:setup), demander pour la version actuelle (db:version) et le dumping du schéma courant (db:schema).

Limitations

  • PHP 5.3 ou supérieur est requis. Le framework emploie les fonctionnalités orientées objet de PHP5. Il n'est pas prévu de rendre le framework rétrocompatible.

  • En août 2007, seul le SGBDR MySQL est supporté.

  • En septembre 2012, PHP 5.2 n'est plus supporté.

Clone this wiki locally