Je présente ici ma méthode pour migrer un projet symfony 1.0 vers symfony 1.2.
En effet, après avoir passer des heures a essayer d'upgrader un projet avec le script fourni en essayant de passer a la version 1.1 puis de 1.1 vers 1.2
l'opération a été un échec, j'ai donc décider de le faire a la main et cela ma pris quelque heures, je vais vous détailler ici la procédure pas à pas.
commençons notre upgrade !
Tout d'abord il faut installer la version de symfony 1.2 que vous trouvez ici,
ensuite créer un nouveau projet
# Exemple: mkdir ~/projets/monProjet1.2 cd ~/projets/monProjet1.2 symfony generate:project monProjet1.2
Installer les plugins dont dépend votre projet que vous trouvez ici
# Exemple: symfony plugin:install sfEasyGMapPlugin
ensuite copier votre schema vers le nouveau projet
# Exemple: cp ~/projets/monProjet1.0/config/schema.yml ~/projets/monProjet1.2/config/schema
n'oublier pas de modifier les paramètres d'accès à la base de données
# Exemple: nano ~/projets/monProjet1.2/config/propel.ini nano ~/projets/monProjet1.2/config/databases.yml # Ou symfony configure:database mysql:host=localhost;dbname=example root password
créer les applications frontend et backend
symfony generate:app --escaping-strategy=on --csrf-secret=UneClefSecrete frontend symfony generate:app --csrf-secret=UneClefSecrete backend
arriver ici, copier vos modules, templates, data et modèles vers le nouveau projet
# les modules cp -r ~/projets/monProjet1.0/app/frontend/modules/* ~/projets/monProjet1.2/app/frontend/modules/ cp -r ~/projets/monProjet1.0/app/backend/modules/* ~/projets/monProjet1.2/app/backend/modules/ # les templates cp -r ~/projets/monProjet1.0/app/frontend/templates/* ~/projets/monProjet1.2/app/frontend/templates/ cp -r ~/projets/monProjet1.0/app/backend/templates/* ~/projets/monProjet1.2/app/backend/templates/ # les images cp -r ~/projets/monProjet1.0/web/images/* ~/projets/monProjet1.2/web/images/ # les css cp -r ~/projets/monProjet1.0/web/css/* ~/projets/monProjet1.2/web/css/ # les javascript cp -r ~/projets/monProjet1.0/web/js/* ~/projets/monProjet1.2/web/js/ # les data et fixtures si vous en avez cp -r ~/projets/monProjet1.0/data/* ~/projets/monProjet1.2/data/ # les modèles (ici attention a ne pas recopier les sous répértoire "map" et "om") il faut utilisé "*.php" pour ne copier que les fichiers php cp ~/projets/monProjet1.0/lib/model/*.php ~/projets/monProjet1.2/lib/model/
pour les autre fichiers je vous conseil de reporter vos modifications a la main avec votre éditeur préférer
nano ~/projets/monProjet1.2/app/frontend/config/app.yml nano ~/projets/monProjet1.2/app/frontend/config/routing.yml nano ~/projets/monProjet1.2/app/frontend/config/security.yml nano ~/projets/monProjet1.2/app/frontend/config/settings.yml nano ~/projets/monProjet1.2/app/frontend/config/view.yml # ect ...
et puis pour finir, exécuter les commandes suivante pour compléter votre migration, puis réparer les erreurs que vous pouvez rencontrer.
symfony propel:build-schema symfony propel:build-sql symfony propel:insert-sql symfony propel:build-model
voila c'est fini !
Si vous avez des questions n'hésitez pas.