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.