Phigrate

Présentation du 25/02/2013




          © Phigrate 2013
Description
Phigrate est un outil de versioning de base de
données écrit en PHP et est exécutable en
ligne de commande.

Cet outil est destiné aux développeurs
travaillant sur des projets en commun utilisant
une base de données.



                     © Phigrate 2013
Fonctionnalités
Utilisez des fichiers de migration pour faire
évoluer votre base de données sans impacter
vos collègues

Lancer la migration de votre base de données
après avoir mis à jour les sources de votre
projet

Réaliser les exports SQL pour les déploiements

                     © Phigrate 2013
Fonctionnement
Phigrate s'utilise en ligne de commande via le
script binaire "phigrate".

Pour générer vos nouveaux fichiers de
migration, vous pouvez utiliser le script
binaire "phigrate-generate".




                     © Phigrate 2013
Installation
Phigrate nécessite PHP >= 5.3 & Pear

Vous pouvez installer Phigrate sur votre poste
à l'aide de Pear.
sudo   pear   channel-discover pear.phigrate.org
sudo   pear   remote-list -c phigrate # Vérif channel
sudo   pear   install phigrate/Phigrate
sudo   pear   remote-info phigrate/Phigrate # Vérif package

Cela vous permettra d'utiliser le script de
génération de fichiers de migration et aussi
pour l'auto-complétion dans votre IDE.
                              © Phigrate 2013
Configuration
Pour fonctionner, il vous faudra créer dans
votre projet les fichiers de configuration pour
Phigrate.

Le fichier caché pour vous faciliter la tâche

Une base pour chaque développeur



                     © Phigrate 2013
Les fichiers de migrations
Pourquoi utiliser le script "phigrate-generate" ?
● Il ajoute lui même le bon numéro de
  version
● Il vérifie que le nom de classe n'est pas en
  doublon
● Il vous crée un fichier propre
Nécessite deux méthodes Up et Down
Un fichier de migration par modification de
base de données.

                     © Phigrate 2013
Langage
Phigrate met à votre disposition un langage
très simple d'utilisation dans les fichiers de
migration.
Il vous permet d'interagir avec :
●   Les   bases de données
●   Les   tables
●   Les   colonnes
●   Les   index
●   Les   foreign key
●   Les   vues
●   Les   requêtes SQL

                             © Phigrate 2013
Les différentes tâches
db:setup: vous permet d'initialiser votre base de données
pour gérer le versioning.
db:migrate: vous permet de migrer votre base de
données.
db:export: vous permet d'exporter au format SQL les
migrations.
db:version: vous permet de connaitre l'état de votre base
de données.
db:status: vous permet de voir les migrations réalisées et
à faire.
db:schema: vous permet d'exporter le schéma de votre
base de données.
                          © Phigrate 2013
Particularités
● Les exports, Phigrate ne peut exporter
  correctement toutes les migrations.
● Si vous devez annuler une migration, levez
  une exception en début de migration.
● N'oubliez pas de définir votre
  environnement lors de l'utilisation.




                    © Phigrate 2013
Ressources
Les sources : https://github.com/Azema/Phigrate
Le bugtracker : https://github.com/Azema/Phigrate/issues
La documentation : http://blog.phigrate.org/doc/home
Le dépôt Pear : http://pear.phigrate.org




                           © Phigrate 2013
Des questions ?




     © Phigrate 2013

Phigrate

  • 1.
  • 2.
    Description Phigrate est unoutil de versioning de base de données écrit en PHP et est exécutable en ligne de commande. Cet outil est destiné aux développeurs travaillant sur des projets en commun utilisant une base de données. © Phigrate 2013
  • 3.
    Fonctionnalités Utilisez des fichiersde migration pour faire évoluer votre base de données sans impacter vos collègues Lancer la migration de votre base de données après avoir mis à jour les sources de votre projet Réaliser les exports SQL pour les déploiements © Phigrate 2013
  • 4.
    Fonctionnement Phigrate s'utilise enligne de commande via le script binaire "phigrate". Pour générer vos nouveaux fichiers de migration, vous pouvez utiliser le script binaire "phigrate-generate". © Phigrate 2013
  • 5.
    Installation Phigrate nécessite PHP>= 5.3 & Pear Vous pouvez installer Phigrate sur votre poste à l'aide de Pear. sudo pear channel-discover pear.phigrate.org sudo pear remote-list -c phigrate # Vérif channel sudo pear install phigrate/Phigrate sudo pear remote-info phigrate/Phigrate # Vérif package Cela vous permettra d'utiliser le script de génération de fichiers de migration et aussi pour l'auto-complétion dans votre IDE. © Phigrate 2013
  • 6.
    Configuration Pour fonctionner, ilvous faudra créer dans votre projet les fichiers de configuration pour Phigrate. Le fichier caché pour vous faciliter la tâche Une base pour chaque développeur © Phigrate 2013
  • 7.
    Les fichiers demigrations Pourquoi utiliser le script "phigrate-generate" ? ● Il ajoute lui même le bon numéro de version ● Il vérifie que le nom de classe n'est pas en doublon ● Il vous crée un fichier propre Nécessite deux méthodes Up et Down Un fichier de migration par modification de base de données. © Phigrate 2013
  • 8.
    Langage Phigrate met àvotre disposition un langage très simple d'utilisation dans les fichiers de migration. Il vous permet d'interagir avec : ● Les bases de données ● Les tables ● Les colonnes ● Les index ● Les foreign key ● Les vues ● Les requêtes SQL © Phigrate 2013
  • 9.
    Les différentes tâches db:setup:vous permet d'initialiser votre base de données pour gérer le versioning. db:migrate: vous permet de migrer votre base de données. db:export: vous permet d'exporter au format SQL les migrations. db:version: vous permet de connaitre l'état de votre base de données. db:status: vous permet de voir les migrations réalisées et à faire. db:schema: vous permet d'exporter le schéma de votre base de données. © Phigrate 2013
  • 10.
    Particularités ● Les exports,Phigrate ne peut exporter correctement toutes les migrations. ● Si vous devez annuler une migration, levez une exception en début de migration. ● N'oubliez pas de définir votre environnement lors de l'utilisation. © Phigrate 2013
  • 11.
    Ressources Les sources :https://github.com/Azema/Phigrate Le bugtracker : https://github.com/Azema/Phigrate/issues La documentation : http://blog.phigrate.org/doc/home Le dépôt Pear : http://pear.phigrate.org © Phigrate 2013
  • 12.
    Des questions ? © Phigrate 2013