]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - docs/en/user/upgrade.rst
Merge remote-tracking branch 'origin/master' into 2.3
[github/wallabag/wallabag.git] / docs / en / user / upgrade.rst
index e6e4c16575130995568d4226f11beec06bb2950d..3157684cb7beb9d870b522be6924da3e90e1e72a 100644 (file)
@@ -1,44 +1,73 @@
+==================================
 Upgrade your wallabag installation
 ==================================
 
 You will find here different ways to upgrade your wallabag:
 
+- `from 2.1.x to 2.2.x <#upgrading-from-2-1-x-to-2-2-x>`_
 - `from 2.0.x to 2.1.1 <#upgrade-from-2-0-x-to-2-1-1>`_
-- `from 2.1.x to 2.1.y <#upgrading-from-2-1-x-to-2-1-y>`_
 - `from 1.x to 2.x <#from-wallabag-1-x>`_
 
-Upgrade from 2.0.x to 2.1.1
----------------------------
+*****************************
+Upgrading from 2.1.x to 2.2.x
+*****************************
 
-.. warning::
+Upgrade on a dedicated web server
+=================================
 
-    Before this migration, if you configured the Pocket import by adding your consumer key in Internal settings, please do a backup of it: you'll have to add it into the Config page after the upgrade.
+**From 2.1.x:**
 
-Upgrade on a dedicated web server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+::
+
+    make update
+    php bin/console doctrine:migrations:migrate --no-interaction -e=prod
+
+**From 2.2.0:**
 
 ::
 
-    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
+    make update
+
+Explanations about database migrations
+--------------------------------------
+
+During the update, we execute database migrations.
+
+All the database migrations are stored in ``app/DoctrineMigrations``. You can execute each migration individually:
+``bin/console doctrine:migrations:execute 20161001072726 --env=prod``.
+
+You can also cancel each migration individually: ``bin/console doctrine:migrations:execute 20161001072726 --down --env=prod``.
+
+Here is the migrations list for 2.1.x to 2.2.0 release:
+
+* ``20161001072726``: added foreign keys for account resetting
+* ``20161022134138``: converted database to ``utf8mb4`` encoding (for MySQL only)
+* ``20161024212538``: added ``user_id`` column on ``oauth2_clients`` to prevent users to delete API clients from other users
+* ``20161031132655``: added the internal setting to enable/disable downloading pictures
+* ``20161104073720``: added ``created_at`` index on ``entry`` table
+* ``20161106113822``: added ``action_mark_as_read`` field on ``config`` table
+* ``20161117071626``: added the internal setting to share articles to unmark.it
+* ``20161118134328``: added ``http_status`` field on ``entry`` table
+* ``20161122144743``: added the internal setting to enable/disable fetching articles with paywall
+* ``20161122203647``: dropped ``expired`` and ``credentials_expired`` fields on ``user`` table
+* ``20161128084725``: added ``list_mode`` field on ``config`` table
+* ``20161128131503``: dropped ``locked``, ``credentials_expire_at`` and ``expires_at`` fields on ``user`` table
+* ``20161214094402``: renamed ``uuid`` to ``uid`` on ``entry`` table
+* ``20161214094403``: added ``uid`` index on ``entry`` table
+* ``20170127093841``: added ``is_starred`` and ``is_archived`` indexes on ``entry`` table
 
 Upgrade on a shared hosting
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+===========================
 
 Backup your ``app/config/parameters.yml`` file.
 
-Download the 2.1.1 release of wallabag:
+Download the last release of wallabag:
 
 .. code-block:: bash
 
-    wget https://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
+    wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
 
-(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``)
+You will find the `md5 hash of the latest package on our website <https://static.wallabag.org/releases/>`_.
 
 Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
 
@@ -48,42 +77,45 @@ If you use SQLite, you must also copy your ``data/`` folder inside the new insta
 
 Empty ``var/cache`` folder.
 
-You must run some SQL queries to upgrade your database. We assume that the table prefix is ``wallabag_`` and the database server is a MySQL one:
+You must run some SQL queries to upgrade your database. We assume that the table prefix is ``wallabag_``. Don't forgete to backup your database before migrating.
 
-.. code-block:: sql
+You may encounter issues with indexes names: if so, please change queries with the correct index name.
 
-    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';
+`You can find all the queries here <http://doc.wallabag.org/en/master/user/query-upgrade-21-22.html>`_.
 
-Upgrading from 2.1.x to 2.1.y
------------------------------
+***************************
+Upgrade from 2.0.x to 2.1.1
+***************************
 
-Upgrade on a dedicated web server
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. warning::
+
+    Before this migration, if you configured the Pocket import by adding your consumer key in Internal settings, please do a backup of it: you'll have to add it into the Config page after the upgrade.
 
-In order to upgrade your wallabag installation and get the last version, run the following command in you wallabag folder:
+Upgrade on a dedicated web server
+=================================
 
 ::
 
-    make update
+    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
 
 Upgrade on a shared hosting
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+===========================
 
 Backup your ``app/config/parameters.yml`` file.
 
-Download the last release of wallabag:
+Download the 2.1.1 release of wallabag:
 
 .. code-block:: bash
 
-    wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
+    wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
 
-You will find the `md5 hash of the latest package on our website <https://www.wallabag.org/pages/download-wallabag.html>`_.
+(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``)
 
 Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
 
@@ -93,8 +125,21 @@ If you use SQLite, you must also copy your ``data/`` folder inside the new insta
 
 Empty ``var/cache`` folder.
 
+You must run some SQL queries to upgrade your database. We assume that the table prefix is ``wallabag_`` and the database server is a MySQL one:
+
+.. 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';
+
+*****************
 From wallabag 1.x
------------------
+*****************
 
 There is no automatic script to update from wallabag 1.x to wallabag 2.x. You need to: