Pour faire la migration depuis la V2, j'ai fait une installation sur un nouveau serveur. J'ai donc rapatrié les données (hors média) ainsi que la bdd.
$> cd /usr/local/django_projects/
$> tar --exclude='./pod/static' --exclude='./pod/media' -zcvf podv2.tgz ./podv2
$> mysqldump -h bdd.univ.fr -u pod2 -pXXXXXXXXXX pod2 > dumpfile.sql
J'ai rapatrié ces 2 fichiers sur mon nouveau serveur et j'ai déployé les données.
$> cd /usr/local/django_projects
$> tar -xvzf podv2.tgz .
$> mysql -h bdd.univ.fr -u pod2 -pXXXXXXXXXXX pod3 < dumpfile.sql
Ne pas oublier de modifier le fichier de settings_local pour diriger vers la nouvelle BDD
De même, l'application tierce "interactive" n'est plus présente dans le code de Pod3, il faut donc penser à la retirer (THIRD_PARTY_APPS = ["enrichment", "live"])
J'ai ensuite créé un nouvel environnement virtuel pour pod3
$> mkvirtualenv --system-site-packages --python=/usr/bin/python3 django_pod3
et j'ai récupéré la dernière version de Pod:
(django_pod3) pod@pod3:/usr/local/django_projects/podv3$ git pull origin dev3
Un MakeFile est maintenant fourni pour simplifier les commandes
(django_pod3) pod@pod3:/usr/local/django_projects/podv3$ cat Makefile
Vous pouvez donc l'utiliser pour finaliser votre installation. Il y a une commande pour tout mettre à jour : $> make upgrade, toutefois, je préfère détailler ici les étapes:
Je commence à installer les lib python :
$> python3 -m pip install -r requirements.txt
Ensuite, je prépare les commandes de mis à jour de la bdd.
Attention, il se peut qu'une dépendance avec l'application flatpage soit nécessaire, il faut donc aller récupérer le fichier sur l'ancien serveur dans ce répertoire :
pod@pod2:~/.virtualenvs/django_pod/lib/python3.7/site-packages/django/contrib/flatpages/migrations
$> make updatedb
Une fois la préparation de la migration effectuée, je peux migrer ma base de données:
$> make migrate
make statics