SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

Figaronron - Chimay 2007 (Partie 03)
Figaronron - Chimay 2007 (Partie 03)Figaronron - Chimay 2007 (Partie 03)
Figaronron - Chimay 2007 (Partie 03)Figaronron Figaronron
 
Características blog
Características blogCaracterísticas blog
Características blogkevin01villa
 
CHPfC Presentation (FSG)
CHPfC Presentation (FSG)CHPfC Presentation (FSG)
CHPfC Presentation (FSG)Tad Seth Parzen
 
Biblioteca "Peña"
Biblioteca "Peña"Biblioteca "Peña"
Biblioteca "Peña"AlfredoLuck
 
3º concurso de cuentos infantiles 2015
3º concurso de cuentos infantiles 20153º concurso de cuentos infantiles 2015
3º concurso de cuentos infantiles 2015Monica Velasco Pardo
 
Professional Experience - Edson Plasencia Sánchez - Jul.2016
Professional Experience - Edson Plasencia Sánchez - Jul.2016Professional Experience - Edson Plasencia Sánchez - Jul.2016
Professional Experience - Edson Plasencia Sánchez - Jul.2016Edson Plasencia Sanchez
 
женшень
женшеньженшень
женшеньapmiru1428
 
Pendidikan Sosial & Life Skill - Urgensi Basic Dakwah Skill
Pendidikan Sosial & Life Skill - Urgensi Basic Dakwah SkillPendidikan Sosial & Life Skill - Urgensi Basic Dakwah Skill
Pendidikan Sosial & Life Skill - Urgensi Basic Dakwah SkillHaristian Sahroni Putra
 
تسويق الكتروني دراسة تسويقية لمطعم
تسويق الكتروني دراسة تسويقية لمطعمتسويق الكتروني دراسة تسويقية لمطعم
تسويق الكتروني دراسة تسويقية لمطعمهدى الشهري
 
Studie: Deutsche Internetauftritte und deren Potenzial für CRO
Studie: Deutsche Internetauftritte und deren Potenzial für CROStudie: Deutsche Internetauftritte und deren Potenzial für CRO
Studie: Deutsche Internetauftritte und deren Potenzial für CROPatrick Schneider
 
130313 oer-schulbuchomat
130313 oer-schulbuchomat130313 oer-schulbuchomat
130313 oer-schulbuchomatMartin Schön
 

En vedette (20)

Figaronron - Chimay 2007 (Partie 03)
Figaronron - Chimay 2007 (Partie 03)Figaronron - Chimay 2007 (Partie 03)
Figaronron - Chimay 2007 (Partie 03)
 
6. ley orgánica de energía eléctrica
6. ley orgánica de energía eléctrica6. ley orgánica de energía eléctrica
6. ley orgánica de energía eléctrica
 
makeup tutorial analysis
makeup tutorial analysismakeup tutorial analysis
makeup tutorial analysis
 
Características blog
Características blogCaracterísticas blog
Características blog
 
CHPfC Presentation (FSG)
CHPfC Presentation (FSG)CHPfC Presentation (FSG)
CHPfC Presentation (FSG)
 
Biblioteca "Peña"
Biblioteca "Peña"Biblioteca "Peña"
Biblioteca "Peña"
 
3º concurso de cuentos infantiles 2015
3º concurso de cuentos infantiles 20153º concurso de cuentos infantiles 2015
3º concurso de cuentos infantiles 2015
 
Ofimatica
OfimaticaOfimatica
Ofimatica
 
Firelight
FirelightFirelight
Firelight
 
Professional Experience - Edson Plasencia Sánchez - Jul.2016
Professional Experience - Edson Plasencia Sánchez - Jul.2016Professional Experience - Edson Plasencia Sánchez - Jul.2016
Professional Experience - Edson Plasencia Sánchez - Jul.2016
 
женшень
женшеньженшень
женшень
 
Hi _MT__U_
Hi _MT__U_Hi _MT__U_
Hi _MT__U_
 
Kelas02 ips tri-jaya-suranto
Kelas02 ips tri-jaya-surantoKelas02 ips tri-jaya-suranto
Kelas02 ips tri-jaya-suranto
 
Pendidikan Sosial & Life Skill - Urgensi Basic Dakwah Skill
Pendidikan Sosial & Life Skill - Urgensi Basic Dakwah SkillPendidikan Sosial & Life Skill - Urgensi Basic Dakwah Skill
Pendidikan Sosial & Life Skill - Urgensi Basic Dakwah Skill
 
PETER PAUL1
PETER PAUL1PETER PAUL1
PETER PAUL1
 
IUCN General Presentation
IUCN General PresentationIUCN General Presentation
IUCN General Presentation
 
تسويق الكتروني دراسة تسويقية لمطعم
تسويق الكتروني دراسة تسويقية لمطعمتسويق الكتروني دراسة تسويقية لمطعم
تسويق الكتروني دراسة تسويقية لمطعم
 
Studie: Deutsche Internetauftritte und deren Potenzial für CRO
Studie: Deutsche Internetauftritte und deren Potenzial für CROStudie: Deutsche Internetauftritte und deren Potenzial für CRO
Studie: Deutsche Internetauftritte und deren Potenzial für CRO
 
130313 oer-schulbuchomat
130313 oer-schulbuchomat130313 oer-schulbuchomat
130313 oer-schulbuchomat
 
Marktanteilsvergleiche - Tools für das Strategische Management
Marktanteilsvergleiche - Tools für das Strategische ManagementMarktanteilsvergleiche - Tools für das Strategische Management
Marktanteilsvergleiche - Tools für das Strategische Management
 

Similaire à Phigrate

GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projectsThierry Gayet
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
Deployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysDeployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysChristophe Villeneuve
 
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureDéployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureMicrosoft
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versiongoldoraf
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continueStéphane HULARD
 
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...akramalidrissi1
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Ippon
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Publicis Sapient Engineering
 
Comment développer pour Linux avec Delphi
Comment développer pour Linux avec DelphiComment développer pour Linux avec Delphi
Comment développer pour Linux avec Delphipprem
 
Adama Coulibaly.pptx
Adama Coulibaly.pptxAdama Coulibaly.pptx
Adama Coulibaly.pptxIdrissaDembl
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreStéphane Traumat
 
Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Olivier DASINI
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphipprem
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetDevclic
 
Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)Celinio Fernandes
 

Similaire à Phigrate (20)

GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projects
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Deployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysDeployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDays
 
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureDéployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de version
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
 
Comment développer pour Linux avec Delphi
Comment développer pour Linux avec DelphiComment développer pour Linux avec Delphi
Comment développer pour Linux avec Delphi
 
Adama Coulibaly.pptx
Adama Coulibaly.pptxAdama Coulibaly.pptx
Adama Coulibaly.pptx
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphi
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
 
Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)Presentation of GWT 2.4 (PowerPoint version)
Presentation of GWT 2.4 (PowerPoint version)
 

Phigrate

  • 2. 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
  • 3. 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
  • 4. 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
  • 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, 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
  • 7. 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
  • 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