Mettre à jour votre installation de wallabag ============================================ Vous trouverez ici différentes manières de mettre à jour wallabag : - `de la 2.1.x à la 2.2.x <#mettre-a-jour-de-la-2-1-x-a-la-2-2-x>`_ - `de la 2.0.x à la 2.1.1 <#mettre-a-jour-de-la-2-0-x-a-la-2-1-1>`_ - `de la 1.x à la 2.x <#depuis-wallabag-1-x>`_ Mettre à jour de la 2.1.x à la 2.2.x ------------------------------------ Mise à jour sur un serveur dédié ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **Depuis 2.1.x:** :: make update php bin/console doctrine:migrations:migrate --no-interaction -e=prod **Depuis 2.2.0:** :: make update Explications à propos des migrations de base de données """"""""""""""""""""""""""""""""""""""""""""""""""""""" Durant la mise à jour, nous exécutons des migrations de base de données. Toutes les migrations de base de données sont stockées dans le dossier ``app/DoctrineMigrations``. Vous pouvez exécuter chaque migration individuellement : ``bin/console doctrine:migrations:execute 20161001072726 --env=prod``. Voici la liste des migrations de la 2.1.x à la 2.2.0 : * ``20161001072726``: ajout de clés étrangères pour la réinitialisation de compte * ``20161022134138``: conversion de la base de données à l'encodage ``utf8mb4`` (pour MySQL uniquement) * ``20161024212538``: ajout de la colonne ``user_id`` sur la table ``oauth2_clients`` pour empêcher les utilisateurs de supprimer des clients API d'autres utilisateurs * ``20161031132655``: ajout du paramètre interne pour activer/désactiver le téléchargement des images * ``20161104073720``: ajout de l'index ``created_at`` sur la table ``entry`` * ``20161106113822``: ajout du champ ``action_mark_as_read`` sur la table ``config`` * ``20161117071626``: ajout du paramètre interne pour partager ses articles vers unmark.it * ``20161118134328``: ajout du champ ``http_status`` sur la table ``entry`` * ``20161122144743``: ajout du paramètre interne pour activer/désactiver la récupération d'articles derrière un paywall * ``20161122203647``: suppression des champs ``expired`` et ``credentials_expired`` sur la table ``user`` * ``20161128084725``: ajout du champ ``list_mode`` sur la table ``config`` * ``20161128131503``: suppression des champs ``locked``, ``credentials_expire_at`` et ``expires_at`` sur la table ``user`` * ``20161214094402``: renommage du champ ``uuid`` en ``uid`` sur la table ``entry`` * ``20161214094403``: ajout de l'index ``uid`` sur la table ``entry`` * ``20170127093841``: ajout des index ``is_starred`` et ``is_archived`` sur la table ``entry`` Mise à jour sur un hébergement mutualisé ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Effectuez une sauvegarde du fichier ``app/config/parameters.yml``. Téléchargez la dernière version de wallabag : .. code-block:: bash wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package Vous trouverez `le hash md5 du dernier package sur notre site `_. Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre. Merci de vérifier que votre fichier ``app/config/parameters.yml`` contient tous les paramètres requis. Vous trouverez `ici une documentation détaillée concernant les paramètres `_. Si vous utilisez SQLite, vous devez également conserver le contenu du répertoire ``data/``. Videz le répertoire ``var/cache``. Vous allez devoir également exécuter des requêtes SQL pour mettre à jour votre base de données. Nous partons du principe que le préfixe de vos tables est ``wallabag_``. `Vous trouverez toutes les requêtes à exécuter ici `_. Mettre à jour de la 2.0.x à la 2.1.1 ------------------------------------ .. warning:: Avant cette migration, si vous aviez configuré l'import depuis Pocket en ajoutant votre consumer key dans les paramètres internes, pensez à effectuer une sauvegarde de celle-ci : vous devrez l'ajouter dans la configuration de wallabag après la mise à jour. Mise à jour sur un serveur dédié ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :: rm -rf var/cache/* git fetch origin git fetch --tags git checkout 2.1.1 --force SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console doctrine:migrations:migrate --env=prod php bin/console cache:clear --env=prod Mise à jour sur un hébergement mutualisé ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Effectuez une sauvegarde du fichier ``app/config/parameters.yml``. Téléchargez la version 2.1.1 de wallabag : .. code-block:: bash wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz (hash md5 de l'archive 2.1.1 : ``9584a3b60a2b2a4de87f536548caac93``) Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre. Merci de vérifier que votre fichier ``app/config/parameters.yml`` contient tous les paramètres requis. Vous trouverez `ici une documentation détaillée concernant les paramètres `_. Si vous utilisez SQLite, vous devez également conserver le contenu du répertoire ``data/``. Videz le répertoire ``var/cache``. Vous allez devoir également exécuter des requêtes SQL pour mettre à jour votre base de données. Nous partons du principe que le préfixe de vos tables est ``wallabag_`` et que le serveur SQL est un serveur MySQL : .. code-block:: sql ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL; INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry'); ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL; INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import'); INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import'); ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL; DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key'; Depuis wallabag 1.x ------------------- Il n'y a pas de script automatique pour mettre à jour wallabag 1.x en wallabag 2.x. Vous devez : - exportez vos données - installer wallabag 2.x (`lisez la documentation d'installation `_ ) - importer vos données dans votre installation toute propre (`lisez la documentation d'import `_ )