]> git.immae.eu Git - github/wallabag/wallabag.git/blob - docs/en/user/upgrade.rst
Added explanations about migrations
[github/wallabag/wallabag.git] / docs / en / user / upgrade.rst
1 Upgrade your wallabag installation
2 ==================================
3
4 You will find here different ways to upgrade your wallabag:
5
6 - `from 2.1.x to 2.2.x <#upgrading-from-2-1-x-to-2-2-x>`_
7 - `from 2.0.x to 2.1.1 <#upgrade-from-2-0-x-to-2-1-1>`_
8 - `from 1.x to 2.x <#from-wallabag-1-x>`_
9
10 Upgrading from 2.1.x to 2.2.x
11 -----------------------------
12
13 Upgrade on a dedicated web server
14 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15
16 ::
17
18 make update
19
20 Explanations about database migrations
21 """"""""""""""""""""""""""""""""""""""
22
23 All the database migrations are stored in ``app/DoctrineMigrations``. You can execute each migration individually:
24 ``bin/console doctrine:migrations:migrate 20161001072726 --env=prod``.
25
26
27 Here are the migrations for 2.1.x to 2.2.0 release:
28
29 * ``20161001072726``: added foreign keys for for account resetting
30 * ``20161022134138``: converted database to ``utf8mb4`` encoding (for MySQL only)
31 * ``20161024212538``: added ``user_id`` column on ``oauth2_clients`` to prevent users to delete API clients from other users
32 * ``20161031132655``: added the internal setting to enable/disable downloading pictures
33 * ``20161104073720``: added ``created_at`` index on ``entry`` table
34 * ``20161106113822``: added ``action_mark_as_read`` field on ``config`` table
35 * ``20161117071626``: added the internal setting to share articles to unmark.it
36 * ``20161118134328``: added ``http_status`` field on ``entry`` table
37 * ``20161122144743``: added the internal setting to enable/disable fetching articles with paywall
38 * ``20161122203647``: dropped ``expired`` and ``credentials_expired`` fields on ``user`` table
39
40 Upgrade on a shared hosting
41 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
42
43 Backup your ``app/config/parameters.yml`` file.
44
45 Download the last release of wallabag:
46
47 .. code-block:: bash
48
49 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
50
51 You will find the `md5 hash of the latest package on our website <https://www.wallabag.org/pages/download-wallabag.html>`_.
52
53 Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
54
55 Please check that your ``app/config/parameters.yml`` contains all the required parameters. You can find `here a documentation about parameters <http://doc.wallabag.org/en/master/user/parameters.html>`_.
56
57 If you use SQLite, you must also copy your ``data/`` folder inside the new installation.
58
59 Empty ``var/cache`` folder.
60
61 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:
62
63 .. code-block:: sql
64
65 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
66 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
67 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
68 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
69 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
70 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
71 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
72
73 Upgrade from 2.0.x to 2.1.1
74 ---------------------------
75
76 .. warning::
77
78 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.
79
80 Upgrade on a dedicated web server
81 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
82
83 ::
84
85 rm -rf var/cache/*
86 git fetch origin
87 git fetch --tags
88 git checkout 2.1.1 --force
89 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
90 php bin/console doctrine:migrations:migrate --env=prod
91 php bin/console cache:clear --env=prod
92
93 Upgrade on a shared hosting
94 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
95
96 Backup your ``app/config/parameters.yml`` file.
97
98 Download the 2.1.1 release of wallabag:
99
100 .. code-block:: bash
101
102 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
103
104 (md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``)
105
106 Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
107
108 Please check that your ``app/config/parameters.yml`` contains all the required parameters. You can find `here a documentation about parameters <http://doc.wallabag.org/en/master/user/parameters.html>`_.
109
110 If you use SQLite, you must also copy your ``data/`` folder inside the new installation.
111
112 Empty ``var/cache`` folder.
113
114 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:
115
116 .. code-block:: sql
117
118 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
119 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
120 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
121 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
122 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
123 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
124 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
125
126 From wallabag 1.x
127 -----------------
128
129 There is no automatic script to update from wallabag 1.x to wallabag 2.x. You need to:
130
131 - export your data
132 - install wallabag 2.x (`read the installation documentation <http://doc.wallabag.org/en/master/user/installation.html>`_ )
133 - import data in this fresh installation (`read the import documentation <http://doc.wallabag.org/en/master/user/import.html>`_ )