aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/en/user
diff options
context:
space:
mode:
Diffstat (limited to 'docs/en/user')
-rw-r--r--docs/en/user/configuration.rst14
-rw-r--r--docs/en/user/configuring_mobile.rst13
-rw-r--r--docs/en/user/filters.rst5
-rw-r--r--docs/en/user/import.rst32
-rw-r--r--docs/en/user/installation.rst21
-rw-r--r--docs/en/user/parameters.rst3
-rw-r--r--docs/en/user/query-upgrade-21-22.rst984
-rw-r--r--docs/en/user/upgrade.rst121
8 files changed, 1145 insertions, 48 deletions
diff --git a/docs/en/user/configuration.rst b/docs/en/user/configuration.rst
index 2c1385a8..caca834f 100644
--- a/docs/en/user/configuration.rst
+++ b/docs/en/user/configuration.rst
@@ -26,6 +26,15 @@ Reading speed
26wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are 26wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are
27a fast or a slow reader. wallabag will recalculate the reading time for each article. 27a fast or a slow reader. wallabag will recalculate the reading time for each article.
28 28
29Where do you want to be redirected after mark an article as read?
30~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31
32Each time you'll do some actions (after marking an article as read/favorite,
33after deleting an article, after removing a tag from an entry), you can be redirected:
34
35- To the homepage
36- To the current page
37
29Language 38Language
30~~~~~~~~ 39~~~~~~~~
31 40
@@ -43,11 +52,16 @@ Now you have three links, one for each status: add them into your favourite RSS
43 52
44You can also define how many articles you want in each RSS feed (default value: 50). 53You can also define how many articles you want in each RSS feed (default value: 50).
45 54
55There is also a pagination available for these feeds. You can add ``?page=2`` to jump to the second page.
56The pagination follow `the RFC <https://tools.ietf.org/html/rfc5005#page-4>`_ about that, which means you'll find the ``next``, ``previous`` & ``last`` page link inside the `<channel>` tag of each RSS feed.
57
46User information 58User information
47---------------- 59----------------
48 60
49You can change your name, your email address and enable ``Two factor authentication``. 61You can change your name, your email address and enable ``Two factor authentication``.
50 62
63If the wallabag instance has more than one enabled user, you can delete your account here. **Take care, we delete all your data**.
64
51Two factor authentication (2FA) 65Two factor authentication (2FA)
52~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 66~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53 67
diff --git a/docs/en/user/configuring_mobile.rst b/docs/en/user/configuring_mobile.rst
new file mode 100644
index 00000000..2bcf3bcb
--- /dev/null
+++ b/docs/en/user/configuring_mobile.rst
@@ -0,0 +1,13 @@
1Configuring Mobile Apps to Work With wallabag.it
2================================================
3
4Steps to configure the app
5---------------------------
6
7- First *create a new client* in the ``Developer`` section. The name of your app doesn't matter as much as the ``Client ID`` and the ``Client secret``. Write these two values down.
8- When you download a mobile app, it's going to ask for the server address of the hosted wallabag instance. With wallabag.it that is: ``https://app.wallabag.it``.
9- It's also going to ask for the aforementioned ``Client ID`` and ``secret``. Please insert those in the text fields, when asked.
10- Lastly you need to provide your ``username`` and ``password``. These are the same credentials you use to login in to wallabag.it.
11
12Please also have a look at `Android <android>`_. Especially the section on *known limitations*.
13
diff --git a/docs/en/user/filters.rst b/docs/en/user/filters.rst
index 4d1df6eb..aae8a749 100644
--- a/docs/en/user/filters.rst
+++ b/docs/en/user/filters.rst
@@ -30,6 +30,11 @@ Language
30wallabag (via graby) can detect article language. It's easy to you to retrieve articles 30wallabag (via graby) can detect article language. It's easy to you to retrieve articles
31written in a specific language. 31written in a specific language.
32 32
33HTTP status
34-----------
35
36You can retrieve the articles by filtering by their HTTP status code: 200, 404, 500, etc.
37
33Reading time 38Reading time
34------------ 39------------
35 40
diff --git a/docs/en/user/import.rst b/docs/en/user/import.rst
index a6754fa0..f420a131 100644
--- a/docs/en/user/import.rst
+++ b/docs/en/user/import.rst
@@ -1,13 +1,13 @@
1Migrate from ... 1Migrate from ...
2================ 2================
3 3
4In wallabag 2.x, you can import data from: 4In wallabag 2.x, you can import data from:
5 5
6- `Pocket <#id1>`_ 6- `Pocket <#id1>`_
7- `Readability <#id2>`_ 7- `Readability <#id2>`_
8- `Instapaper <#id4>`_ 8- `Instapaper <#id4>`_
9- `wallabag 1.x <#id6>`_ 9- `wallabag 1.x <#id6>`_
10- `wallabag 2.x <#id7>`_ 10- `wallabag 2.x <#id7>`_
11 11
12We also developed `a script to execute migrations via command-line interface <#import-via-command-line-interface-cli>`_. 12We also developed `a script to execute migrations via command-line interface <#import-via-command-line-interface-cli>`_.
13 13
@@ -57,8 +57,24 @@ and then select your json file and upload it.
57 57
58Your data will be imported. Data import can be a demanding process for your server. 58Your data will be imported. Data import can be a demanding process for your server.
59 59
60Instapaper 60From Pinboard
61---------- 61-------------
62
63Export your Pinboard data
64~~~~~~~~~~~~~~~~~~~~~~~~~
65
66On the backup (`https://pinboard.in/settings/backup <https://pinboard.in/settings/backup>`_) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like ``pinboard_export``).
67
68Import your data into wallabag 2.x
69~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70
71Click on ``Import`` link in the menu, on ``Import contents`` in Pinboard section
72and then select your json file and upload it.
73
74Your data will be imported. Data import can be a demanding process for your server.
75
76From Instapaper
77---------------
62 78
63Export your Instapaper data 79Export your Instapaper data
64~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/docs/en/user/installation.rst b/docs/en/user/installation.rst
index 77ef60a8..7fb81aeb 100644
--- a/docs/en/user/installation.rst
+++ b/docs/en/user/installation.rst
@@ -16,7 +16,7 @@ Install Composer:
16 16
17:: 17::
18 18
19 curl -s http://getcomposer.org/installer | php 19 curl -s https://getcomposer.org/installer | php
20 20
21You can find specific instructions `here <https://getcomposer.org/doc/00-intro.md>`__. 21You can find specific instructions `here <https://getcomposer.org/doc/00-intro.md>`__.
22 22
@@ -85,7 +85,7 @@ Execute this command to download and extract the latest package:
85 85
86.. code-block:: bash 86.. code-block:: bash
87 87
88 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package 88 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
89 89
90You will find the `md5 hash of the latest package on our website <https://www.wallabag.org/pages/download-wallabag.html>`_. 90You will find the `md5 hash of the latest package on our website <https://www.wallabag.org/pages/download-wallabag.html>`_.
91 91
@@ -149,6 +149,23 @@ Assuming you install wallabag in the ``/var/www/wallabag`` folder and that you w
149 ErrorLog /var/log/apache2/wallabag_error.log 149 ErrorLog /var/log/apache2/wallabag_error.log
150 CustomLog /var/log/apache2/wallabag_access.log combined 150 CustomLog /var/log/apache2/wallabag_access.log combined
151 </VirtualHost> 151 </VirtualHost>
152
153
154.. tip:: Note for Apache 2.4, in the section `<Directory /var/www/wallabag/web>` you have to replace the directives :
155
156::
157
158 AllowOverride None
159 Order Allow,Deny
160 Allow from All
161
162
163by
164
165::
166
167 Require All granted
168
152 169
153After reloading or restarting Apache, you should now be able to access wallabag at http://domain.tld. 170After reloading or restarting Apache, you should now be able to access wallabag at http://domain.tld.
154 171
diff --git a/docs/en/user/parameters.rst b/docs/en/user/parameters.rst
index 2b02a34d..d8a209e7 100644
--- a/docs/en/user/parameters.rst
+++ b/docs/en/user/parameters.rst
@@ -39,6 +39,7 @@ If you don't know which value you need to set, please leave the default one.
39 redis_host: localhost 39 redis_host: localhost
40 redis_port: 6379 40 redis_port: 6379
41 redis_path: null 41 redis_path: null
42 redis_password: null
42 43
43Meaning of each parameter 44Meaning of each parameter
44------------------------- 45-------------------------
@@ -55,6 +56,7 @@ Meaning of each parameter
55 "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "only for SQLite, define where to put the database file. Leave it empty for other database" 56 "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "only for SQLite, define where to put the database file. Leave it empty for other database"
56 "database_table_prefix", "wallabag_", "all wallabag's tables will be prefixed with that string. You can include a ``_`` for clarity" 57 "database_table_prefix", "wallabag_", "all wallabag's tables will be prefixed with that string. You can include a ``_`` for clarity"
57 "database_socket", "null", "If your database is using a socket instead of tcp, put the path of the socket (other connection parameters will then be ignored)" 58 "database_socket", "null", "If your database is using a socket instead of tcp, put the path of the socket (other connection parameters will then be ignored)"
59 "database_charset", "utf8mb4", "For PostgreSQL & SQLite you should use utf8, for MySQL use utf8mb4 which handle emoji"
58 60
59.. csv-table:: Configuration to send emails from wallabag 61.. csv-table:: Configuration to send emails from wallabag
60 :header: "name", "default", "description" 62 :header: "name", "default", "description"
@@ -91,3 +93,4 @@ Meaning of each parameter
91 "redis_host", "localhost", "IP or hostname of the target server (ignored for unix scheme)" 93 "redis_host", "localhost", "IP or hostname of the target server (ignored for unix scheme)"
92 "redis_port", "6379", "TCP/IP port of the target server (ignored for unix scheme)" 94 "redis_port", "6379", "TCP/IP port of the target server (ignored for unix scheme)"
93 "redis_path", "null", "Path of the UNIX domain socket file used when connecting to Redis using UNIX domain sockets" 95 "redis_path", "null", "Path of the UNIX domain socket file used when connecting to Redis using UNIX domain sockets"
96 "redis_password", "null", "Password defined in the Redis server configuration (parameter `requirepass` in `redis.conf`)"
diff --git a/docs/en/user/query-upgrade-21-22.rst b/docs/en/user/query-upgrade-21-22.rst
new file mode 100644
index 00000000..fa9835a8
--- /dev/null
+++ b/docs/en/user/query-upgrade-21-22.rst
@@ -0,0 +1,984 @@
1Migration 20161001072726
2------------------------
3
4MySQL
5^^^^^
6
7Migration up
8""""""""""""
9
10.. code-block:: sql
11
12 ALTER TABLE wallabag_entry_tag DROP FOREIGN KEY FK_C9F0DD7CBA364942
13 ALTER TABLE wallabag_entry_tag DROP FOREIGN KEY FK_C9F0DD7CBAD26311
14 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
15 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES wallabag_tag (id) ON DELETE CASCADE
16 ALTER TABLE wallabag_annotation DROP FOREIGN KEY FK_A7AED006BA364942
17 ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
18
19Migration down
20""""""""""""""
21
22We didn't write down migration for ``20161001072726``.
23
24PostgreSQL
25^^^^^^^^^^
26
27Migration up
28""""""""""""
29
30.. code-block:: sql
31
32 ALTER TABLE wallabag_entry_tag DROP CONSTRAINT fk_c9f0dd7cba364942
33 ALTER TABLE wallabag_entry_tag DROP CONSTRAINT fk_c9f0dd7cbad26311
34 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
35 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES wallabag_tag (id) ON DELETE CASCADE
36 ALTER TABLE wallabag_annotation DROP CONSTRAINT fk_a7aed006ba364942
37 ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
38
39Migration down
40""""""""""""""
41
42We didn't write down migration for ``20161001072726``.
43
44SQLite
45^^^^^^
46
47This migration can only be executed safely on MySQL or PostgreSQL.
48
49Migration 20161022134138
50------------------------
51
52MySQL
53^^^^^
54
55Migration up
56""""""""""""
57
58.. code-block:: sql
59
60 ALTER DATABASE wallabag CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
61 ALTER TABLE wallabag_user CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL;
62 ALTER TABLE wallabag_user CHANGE salt salt VARCHAR(180) NOT NULL;
63 ALTER TABLE wallabag_user CHANGE password password VARCHAR(180) NOT NULL;
64 ALTER TABLE wallabag_annotation CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
65 ALTER TABLE wallabag_entry CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
66 ALTER TABLE wallabag_tag CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
67 ALTER TABLE wallabag_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
68 ALTER TABLE wallabag_annotation CHANGE `text` `text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
69 ALTER TABLE wallabag_annotation CHANGE `quote` `quote` VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
70 ALTER TABLE wallabag_entry CHANGE `title` `title` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
71 ALTER TABLE wallabag_entry CHANGE `content` `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
72 ALTER TABLE wallabag_tag CHANGE `label` `label` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
73 ALTER TABLE wallabag_user CHANGE `name` `name` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
74
75Migration down
76""""""""""""""
77
78.. code-block:: sql
79
80 ALTER DATABASE wallabag CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;
81 ALTER TABLE wallabag_annotation CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
82 ALTER TABLE wallabag_entry CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
83 ALTER TABLE wallabag_tag CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
84 ALTER TABLE wallabag_user CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
85 ALTER TABLE wallabag_annotation CHANGE `text` `text` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
86 ALTER TABLE wallabag_annotation CHANGE `quote` `quote` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
87 ALTER TABLE wallabag_entry CHANGE `title` `title` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
88 ALTER TABLE wallabag_entry CHANGE `content` `content` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
89 ALTER TABLE wallabag_tag CHANGE `label` `label` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
90 ALTER TABLE wallabag_user CHANGE `name` `name` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
91
92PostgreSQL and SQLite
93^^^^^^^^^^^^^^^^^^^^^
94
95This migration only apply to MySQL.
96
97Migration 20161024212538
98------------------------
99
100MySQL
101^^^^^
102
103Migration up
104""""""""""""
105
106.. code-block:: sql
107
108 ALTER TABLE wallabag_oauth2_clients ADD user_id INT NOT NULL
109 ALTER TABLE wallabag_oauth2_clients ADD CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE
110 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
111
112Migration down
113""""""""""""""
114
115.. code-block:: sql
116
117 ALTER TABLE wallabag_oauth2_clients DROP FOREIGN KEY IDX_user_oauth_client
118 ALTER TABLE wallabag_oauth2_clients DROP user_id
119
120PostgreSQL
121^^^^^^^^^^
122
123Migration up
124""""""""""""
125
126.. code-block:: sql
127
128 ALTER TABLE wallabag_oauth2_clients ADD user_id INT DEFAULT NULL
129 ALTER TABLE wallabag_oauth2_clients ADD CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
130 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
131
132
133Migration down
134""""""""""""""
135
136.. code-block:: sql
137
138 ALTER TABLE wallabag_oauth2_clients DROP CONSTRAINT idx_user_oauth_client
139 ALTER TABLE wallabag_oauth2_clients DROP user_id
140
141SQLite
142^^^^^^
143
144Migration up
145""""""""""""
146
147.. code-block:: sql
148
149 CREATE TEMPORARY TABLE __temp__wallabag_oauth2_clients AS SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM wallabag_oauth2_clients
150 DROP TABLE wallabag_oauth2_clients
151 CREATE TABLE wallabag_oauth2_clients (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, random_id VARCHAR(255) NOT NULL COLLATE BINARY, redirect_uris CLOB NOT NULL COLLATE BINARY, secret VARCHAR(255) NOT NULL COLLATE BINARY, allowed_grant_types CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id), CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE)
152 INSERT INTO wallabag_oauth2_clients (id, random_id, redirect_uris, secret, allowed_grant_types, name) SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM __temp__wallabag_oauth2_clients
153 DROP TABLE __temp__wallabag_oauth2_clients
154 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
155
156Migration down
157""""""""""""""
158
159.. code-block:: sql
160
161 DROP INDEX IDX_635D765EA76ED395
162 CREATE TEMPORARY TABLE __temp__wallabag_oauth2_clients AS SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM wallabag_oauth2_clients
163 DROP TABLE wallabag_oauth2_clients
164 CREATE TABLE wallabag_oauth2_clients (id INTEGER NOT NULL, random_id VARCHAR(255) NOT NULL COLLATE BINARY, redirect_uris CLOB NOT NULL COLLATE BINARY, secret VARCHAR(255) NOT NULL COLLATE BINARY, allowed_grant_types CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
165 INSERT INTO wallabag_oauth2_clients (id, random_id, redirect_uris, secret, allowed_grant_types, name) SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM __temp__wallabag_oauth2_clients
166 DROP TABLE __temp__wallabag_oauth2_clients
167
168Migration 20161031132655
169------------------------
170
171MySQL
172^^^^^
173
174Migration up
175""""""""""""
176
177.. code-block:: sql
178
179 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
180
181Migration down
182""""""""""""""
183
184.. code-block:: sql
185
186 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
187
188PostgreSQL
189^^^^^^^^^^
190
191Migration up
192""""""""""""
193
194.. code-block:: sql
195
196 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
197
198Migration down
199""""""""""""""
200
201.. code-block:: sql
202
203 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
204
205SQLite
206^^^^^^
207
208Migration up
209""""""""""""
210
211.. code-block:: sql
212
213 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
214
215Migration down
216""""""""""""""
217
218.. code-block:: sql
219
220 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
221
222Migration 20161104073720
223------------------------
224
225MySQL
226^^^^^
227
228Migration up
229""""""""""""
230
231.. code-block:: sql
232
233 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
234
235Migration down
236""""""""""""""
237
238.. code-block:: sql
239
240 DROP INDEX IDX_entry_created_at ON wallabag_entry
241
242PostgreSQL
243^^^^^^^^^^
244
245Migration up
246""""""""""""
247
248.. code-block:: sql
249
250 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
251
252Migration down
253""""""""""""""
254
255.. code-block:: sql
256
257 DROP INDEX idx_entry_created_at
258
259SQLite
260^^^^^^
261
262Migration up
263""""""""""""
264
265.. code-block:: sql
266
267 DROP INDEX created_at_idx
268 DROP INDEX IDX_F4D18282A76ED395
269 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
270 DROP TABLE wallabag_entry
271 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
272 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
273 DROP TABLE __temp__wallabag_entry
274 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
275 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
276 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
277
278Migration down
279""""""""""""""
280
281.. code-block:: sql
282
283 DROP INDEX IDX_entry_created_at
284 DROP INDEX IDX_F4D18282A76ED395
285 DROP INDEX created_at_idx
286 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
287 DROP TABLE wallabag_entry
288 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
289 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
290 DROP TABLE __temp__wallabag_entry
291 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
292 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
293
294Migration 20161106113822
295------------------------
296
297MySQL
298^^^^^
299
300Migration up
301""""""""""""
302
303.. code-block:: sql
304
305 ALTER TABLE wallabag_config ADD action_mark_as_read INT DEFAULT 0
306
307Migration down
308""""""""""""""
309
310.. code-block:: sql
311
312 ALTER TABLE wallabag_config DROP action_mark_as_read
313
314PostgreSQL
315^^^^^^^^^^
316
317Migration up
318""""""""""""
319
320.. code-block:: sql
321
322 ALTER TABLE wallabag_config ADD action_mark_as_read INT DEFAULT 0
323
324Migration down
325""""""""""""""
326
327.. code-block:: sql
328
329 ALTER TABLE wallabag_config DROP action_mark_as_read
330
331SQLite
332^^^^^^
333
334Migration up
335""""""""""""
336
337.. code-block:: sql
338
339 ALTER TABLE wallabag_config ADD COLUMN action_mark_as_read INTEGER DEFAULT 0
340
341Migration down
342""""""""""""""
343
344.. code-block:: sql
345
346 DROP INDEX UNIQ_87E64C53A76ED395
347 CREATE TEMPORARY TABLE __temp__wallabag_config AS SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM wallabag_config
348 DROP TABLE wallabag_config
349 CREATE TABLE wallabag_config (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL COLLATE BINARY, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL COLLATE BINARY, rss_token VARCHAR(255) DEFAULT NULL COLLATE BINARY, rss_limit INTEGER DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, pocket_consumer_key VARCHAR(255) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
350 INSERT INTO wallabag_config (id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key) SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM __temp__wallabag_config
351 DROP TABLE __temp__wallabag_config
352 CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON wallabag_config (user_id)
353
354Migration 20161117071626
355------------------------
356
357MySQL
358^^^^^
359
360Migration up
361""""""""""""
362
363.. code-block:: sql
364
365 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
366 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
367
368Migration down
369""""""""""""""
370
371.. code-block:: sql
372
373 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
374 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
375
376PostgreSQL
377^^^^^^^^^^
378
379Migration up
380""""""""""""
381
382.. code-block:: sql
383
384 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
385 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
386
387Migration down
388""""""""""""""
389
390.. code-block:: sql
391
392 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
393 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
394
395SQLite
396^^^^^^
397
398Migration up
399""""""""""""
400
401.. code-block:: sql
402
403 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
404 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
405
406Migration down
407""""""""""""""
408
409.. code-block:: sql
410
411 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
412 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
413
414Migration 20161118134328
415------------------------
416
417MySQL
418^^^^^
419
420Migration up
421""""""""""""
422
423.. code-block:: sql
424
425 ALTER TABLE wallabag_entry ADD http_status VARCHAR(3) DEFAULT NULL
426
427Migration down
428""""""""""""""
429
430.. code-block:: sql
431
432 ALTER TABLE wallabag_entry DROP http_status
433
434PostgreSQL
435^^^^^^^^^^
436
437Migration up
438""""""""""""
439
440.. code-block:: sql
441
442 ALTER TABLE wallabag_entry ADD http_status VARCHAR(3) DEFAULT NULL
443
444Migration down
445""""""""""""""
446
447.. code-block:: sql
448
449 ALTER TABLE wallabag_entry DROP http_status
450
451SQLite
452^^^^^^
453
454Migration up
455""""""""""""
456
457.. code-block:: sql
458
459 ALTER TABLE wallabag_entry ADD COLUMN http_status VARCHAR(3) DEFAULT NULL
460
461Migration down
462""""""""""""""
463
464.. code-block:: sql
465
466 DROP INDEX created_at_idx
467 DROP INDEX IDX_F4D18282A76ED395
468 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
469 DROP TABLE wallabag_entry
470 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
471 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
472 DROP TABLE __temp__wallabag_entry
473 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
474 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
475
476Migration 20161122144743
477------------------------
478
479MySQL
480^^^^^
481
482Migration up
483""""""""""""
484
485.. code-block:: sql
486
487 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
488
489Migration down
490""""""""""""""
491
492.. code-block:: sql
493
494 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
495
496PostgreSQL
497^^^^^^^^^^
498
499Migration up
500""""""""""""
501
502.. code-block:: sql
503
504 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
505
506Migration down
507""""""""""""""
508
509.. code-block:: sql
510
511 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
512
513SQLite
514^^^^^^
515
516Migration up
517""""""""""""
518
519.. code-block:: sql
520
521 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
522
523Migration down
524""""""""""""""
525
526.. code-block:: sql
527
528 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
529
530Migration 20161122203647
531------------------------
532
533MySQL
534^^^^^
535
536Migration up
537""""""""""""
538
539.. code-block:: sql
540
541 ALTER TABLE wallabag_user DROP expired, DROP credentials_expired
542
543Migration down
544""""""""""""""
545
546.. code-block:: sql
547
548 ALTER TABLE wallabag_user ADD expired SMALLINT DEFAULT NULL, ADD credentials_expired SMALLINT DEFAULT NULL
549
550PostgreSQL
551^^^^^^^^^^
552
553Migration up
554""""""""""""
555
556.. code-block:: sql
557
558 ALTER TABLE wallabag_user DROP expired
559 ALTER TABLE wallabag_user DROP credentials_expired
560
561Migration down
562""""""""""""""
563
564.. code-block:: sql
565
566 ALTER TABLE wallabag_user ADD expired SMALLINT DEFAULT NULL
567 ALTER TABLE wallabag_user ADD credentials_expired SMALLINT DEFAULT NULL
568
569SQLite
570^^^^^^
571
572Migration up
573""""""""""""
574
575.. code-block:: sql
576
577 DROP INDEX UNIQ_1D63E7E5C05FB297
578 DROP INDEX UNIQ_1D63E7E5A0D96FBF
579 DROP INDEX UNIQ_1D63E7E592FC23A8
580 CREATE TEMPORARY TABLE __temp__wallabag_user AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted FROM wallabag_user
581 DROP TABLE wallabag_user
582 CREATE TABLE wallabag_user (id INTEGER NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL COLLATE BINARY, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, locked BOOLEAN NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL COLLATE BINARY, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL COLLATE BINARY, credentials_expire_at DATETIME DEFAULT NULL, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
583 INSERT INTO wallabag_user (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted FROM __temp__wallabag_user
584 DROP TABLE __temp__wallabag_user
585 CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON wallabag_user (confirmation_token)
586 CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON wallabag_user (email_canonical)
587 CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON wallabag_user (username_canonical)
588
589Migration down
590""""""""""""""
591
592.. code-block:: sql
593
594 ALTER TABLE wallabag_user ADD COLUMN expired SMALLINT DEFAULT NULL
595 ALTER TABLE wallabag_user ADD COLUMN credentials_expired SMALLINT DEFAULT NULL
596
597Migration 20161128084725
598------------------------
599
600MySQL
601^^^^^
602
603Migration up
604""""""""""""
605
606.. code-block:: sql
607
608 ALTER TABLE wallabag_config ADD list_mode INT DEFAULT NULL
609
610Migration down
611""""""""""""""
612
613.. code-block:: sql
614
615 ALTER TABLE wallabag_config DROP list_mode
616
617PostgreSQL
618^^^^^^^^^^
619
620Migration up
621""""""""""""
622
623.. code-block:: sql
624
625 ALTER TABLE wallabag_config ADD list_mode INT DEFAULT NULL
626
627Migration down
628""""""""""""""
629
630.. code-block:: sql
631
632 ALTER TABLE wallabag_config DROP list_mode
633
634SQLite
635^^^^^^
636
637Migration up
638""""""""""""
639
640.. code-block:: sql
641
642 ALTER TABLE wallabag_config ADD COLUMN list_mode INTEGER DEFAULT NULL
643
644Migration down
645""""""""""""""
646
647.. code-block:: sql
648
649 DROP INDEX UNIQ_87E64C53A76ED395
650 CREATE TEMPORARY TABLE __temp__wallabag_config AS SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM wallabag_config
651 DROP TABLE wallabag_config
652 CREATE TABLE wallabag_config (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL COLLATE BINARY, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL COLLATE BINARY, rss_token VARCHAR(255) DEFAULT NULL COLLATE BINARY, rss_limit INTEGER DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, pocket_consumer_key VARCHAR(255) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
653 INSERT INTO wallabag_config (id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key) SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM __temp__wallabag_config
654 DROP TABLE __temp__wallabag_config
655 CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON wallabag_config (user_id)
656
657Migration 20161128131503
658------------------------
659
660MySQL
661^^^^^
662
663Migration up
664""""""""""""
665
666.. code-block:: sql
667
668 ALTER TABLE wallabag_user DROP locked, DROP credentials_expire_at, DROP expires_at
669
670Migration down
671""""""""""""""
672
673.. code-block:: sql
674
675 ALTER TABLE wallabag_user ADD locked SMALLINT DEFAULT NULL, ADD credentials_expire_at DATETIME DEFAULT NULL, ADD expires_at DATETIME DEFAULT NULL
676
677PostgreSQL
678^^^^^^^^^^
679
680Migration up
681""""""""""""
682
683.. code-block:: sql
684
685 ALTER TABLE wallabag_user DROP locked
686 ALTER TABLE wallabag_user DROP credentials_expire_at
687 ALTER TABLE wallabag_user DROP expires_at
688
689Migration down
690""""""""""""""
691
692.. code-block:: sql
693
694 ALTER TABLE wallabag_user ADD locked SMALLINT DEFAULT NULL
695 ALTER TABLE wallabag_user ADD credentials_expire_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
696 ALTER TABLE wallabag_user ADD expires_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
697
698SQLite
699^^^^^^
700
701Migration up
702""""""""""""
703
704.. code-block:: sql
705
706 ALTER TABLE wallabag_user ADD COLUMN locked SMALLINT DEFAULT NULL
707 ALTER TABLE wallabag_user ADD COLUMN credentials_expire_at DATETIME DEFAULT NULL
708 ALTER TABLE wallabag_user ADD COLUMN expires_at DATETIME DEFAULT NULL
709
710Migration down
711""""""""""""""
712
713.. code-block:: sql
714
715 DROP INDEX UNIQ_1D63E7E592FC23A8
716 DROP INDEX UNIQ_1D63E7E5A0D96FBF
717 DROP INDEX UNIQ_1D63E7E5C05FB297
718 CREATE TEMPORARY TABLE __temp__wallabag_user AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired FROM wallabag_user
719 DROP TABLE wallabag_user
720 CREATE TABLE wallabag_user (id INTEGER NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL COLLATE BINARY, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL COLLATE BINARY, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted CLOB DEFAULT NULL COLLATE BINARY, expired SMALLINT DEFAULT NULL, credentials_expired SMALLINT DEFAULT NULL, PRIMARY KEY(id))
721 INSERT INTO wallabag_user (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired FROM __temp__wallabag_user
722 DROP TABLE __temp__wallabag_user
723 CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON wallabag_user (username_canonical)
724 CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON wallabag_user (email_canonical)
725 CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON wallabag_user (confirmation_token)
726
727Migration 20161214094402
728------------------------
729
730MySQL
731^^^^^
732
733Migration up
734""""""""""""
735
736.. code-block:: sql
737
738 ALTER TABLE wallabag_entry CHANGE uuid uid VARCHAR(23)
739
740Migration down
741""""""""""""""
742
743.. code-block:: sql
744
745 ALTER TABLE wallabag_entry CHANGE uid uuid VARCHAR(23)
746
747PostgreSQL
748^^^^^^^^^^
749
750Migration up
751""""""""""""
752
753.. code-block:: sql
754
755 ALTER TABLE wallabag_entry RENAME uuid TO uid
756
757Migration down
758""""""""""""""
759
760.. code-block:: sql
761
762 ALTER TABLE wallabag_entry RENAME uid TO uuid
763
764SQLite
765^^^^^^
766
767Migration up
768""""""""""""
769
770.. code-block:: sql
771
772 CREATE TABLE __temp__wallabag_entry (
773 id INTEGER NOT NULL,
774 user_id INTEGER DEFAULT NULL,
775 uid VARCHAR(23) DEFAULT NULL,
776 title CLOB DEFAULT NULL,
777 url CLOB DEFAULT NULL,
778 is_archived BOOLEAN NOT NULL,
779 is_starred BOOLEAN NOT NULL,
780 content CLOB DEFAULT NULL,
781 created_at DATETIME NOT NULL,
782 updated_at DATETIME NOT NULL,
783 mimetype CLOB DEFAULT NULL,
784 language CLOB DEFAULT NULL,
785 reading_time INTEGER DEFAULT NULL,
786 domain_name CLOB DEFAULT NULL,
787 preview_picture CLOB DEFAULT NULL,
788 is_public BOOLEAN DEFAULT '0',
789 http_status VARCHAR(3) DEFAULT NULL,
790 PRIMARY KEY(id)
791 );
792 INSERT INTO __temp__wallabag_entry SELECT id,user_id,uuid,title,url,is_archived,is_starred,content,created_at,updated_at,mimetype,language,reading_time,domain_name,preview_picture,is_public,http_status FROM wallabag_entry;
793 DROP TABLE wallabag_entry;
794 ALTER TABLE __temp__wallabag_entry RENAME TO wallabag_entry
795 CREATE INDEX uid ON wallabag_entry (uid)
796 CREATE INDEX created_at ON wallabag_entry (created_at)
797 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
798
799
800Migration down
801""""""""""""""
802
803.. code-block:: sql
804
805 CREATE TABLE __temp__wallabag_entry (
806 id INTEGER NOT NULL,
807 user_id INTEGER DEFAULT NULL,
808 uuid VARCHAR(23) DEFAULT NULL,
809 title CLOB DEFAULT NULL,
810 url CLOB DEFAULT NULL,
811 is_archived BOOLEAN NOT NULL,
812 is_starred BOOLEAN NOT NULL,
813 content CLOB DEFAULT NULL,
814 created_at DATETIME NOT NULL,
815 updated_at DATETIME NOT NULL,
816 mimetype CLOB DEFAULT NULL,
817 language CLOB DEFAULT NULL,
818 reading_time INTEGER DEFAULT NULL,
819 domain_name CLOB DEFAULT NULL,
820 preview_picture CLOB DEFAULT NULL,
821 is_public BOOLEAN DEFAULT '0',
822 http_status VARCHAR(3) DEFAULT NULL,
823 PRIMARY KEY(id)
824 );
825 INSERT INTO __temp__wallabag_entry SELECT id,user_id,uid,title,url,is_archived,is_starred,content,created_at,updated_at,mimetype,language,reading_time,domain_name,preview_picture,is_public,http_status FROM wallabag_entry;
826 DROP TABLE wallabag_entry;
827 ALTER TABLE __temp__wallabag_entry RENAME TO wallabag_entry
828 CREATE INDEX uid ON wallabag_entry (uid)
829 CREATE INDEX created_at ON wallabag_entry (created_at)
830 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
831
832Migration 20161214094403
833------------------------
834
835MySQL
836^^^^^
837
838Migration up
839""""""""""""
840
841.. code-block:: sql
842
843 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
844
845Migration down
846""""""""""""""
847
848.. code-block:: sql
849
850 DROP INDEX IDX_entry_uid ON wallabag_entry
851
852PostgreSQL
853^^^^^^^^^^
854
855Migration up
856""""""""""""
857
858.. code-block:: sql
859
860 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
861
862Migration down
863""""""""""""""
864
865.. code-block:: sql
866
867 DROP INDEX idx_entry_uid
868
869SQLite
870^^^^^^
871
872Migration up
873""""""""""""
874
875.. code-block:: sql
876
877 DROP INDEX IDX_F4D18282A76ED395
878 DROP INDEX created_at_idx
879 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
880 DROP TABLE wallabag_entry
881 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
882 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
883 DROP TABLE __temp__wallabag_entry
884 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
885 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
886 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
887
888Migration down
889""""""""""""""
890
891.. code-block:: sql
892
893 DROP INDEX IDX_entry_uid
894 DROP INDEX created_at_idx
895 DROP INDEX IDX_F4D18282A76ED395
896 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
897 DROP TABLE wallabag_entry
898 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
899 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
900 DROP TABLE __temp__wallabag_entry
901 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
902 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
903
904Migration 20170127093841
905------------------------
906
907MySQL
908^^^^^
909
910Migration up
911""""""""""""
912
913.. code-block:: sql
914
915 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
916 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
917
918Migration down
919""""""""""""""
920
921.. code-block:: sql
922
923 DROP INDEX IDX_entry_starred ON wallabag_entry
924 DROP INDEX IDX_entry_archived ON wallabag_entry
925
926PostgreSQL
927^^^^^^^^^^
928
929Migration up
930""""""""""""
931
932.. code-block:: sql
933
934 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
935 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
936
937Migration down
938""""""""""""""
939
940.. code-block:: sql
941
942 DROP INDEX IDX_entry_starred
943 DROP INDEX IDX_entry_archived
944
945SQLite
946^^^^^^
947
948Migration up
949""""""""""""
950
951.. code-block:: sql
952
953 DROP INDEX uid
954 DROP INDEX created_at
955 DROP INDEX IDX_F4D18282A76ED395
956 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM wallabag_entry
957 DROP TABLE wallabag_entry
958 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid VARCHAR(23) DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', http_status VARCHAR(3) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
959 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM __temp__wallabag_entry
960 DROP TABLE __temp__wallabag_entry
961 CREATE INDEX uid ON wallabag_entry (uid)
962 CREATE INDEX created_at ON wallabag_entry (created_at)
963 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
964 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
965 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
966
967Migration down
968""""""""""""""
969
970.. code-block:: sql
971
972 DROP INDEX IDX_entry_archived
973 DROP INDEX IDX_entry_starred
974 DROP INDEX IDX_F4D18282A76ED395
975 DROP INDEX created_at
976 DROP INDEX uid
977 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM wallabag_entry
978 DROP TABLE wallabag_entry
979 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid VARCHAR(23) DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', http_status VARCHAR(3) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
980 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM __temp__wallabag_entry
981 DROP TABLE __temp__wallabag_entry
982 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
983 CREATE INDEX created_at ON wallabag_entry (created_at)
984 CREATE INDEX uid ON wallabag_entry (uid)
diff --git a/docs/en/user/upgrade.rst b/docs/en/user/upgrade.rst
index 544d57eb..b4635075 100644
--- a/docs/en/user/upgrade.rst
+++ b/docs/en/user/upgrade.rst
@@ -1,44 +1,73 @@
1==================================
1Upgrade your wallabag installation 2Upgrade your wallabag installation
2================================== 3==================================
3 4
4You will find here different ways to upgrade your wallabag: 5You will find here different ways to upgrade your wallabag:
5 6
7- `from 2.1.x to 2.2.x <#upgrading-from-2-1-x-to-2-2-x>`_
6- `from 2.0.x to 2.1.1 <#upgrade-from-2-0-x-to-2-1-1>`_ 8- `from 2.0.x to 2.1.1 <#upgrade-from-2-0-x-to-2-1-1>`_
7- `from 2.1.x to 2.1.y <#upgrading-from-2-1-x-to-2-1-y>`_
8- `from 1.x to 2.x <#from-wallabag-1-x>`_ 9- `from 1.x to 2.x <#from-wallabag-1-x>`_
9 10
10Upgrade from 2.0.x to 2.1.1 11*****************************
11--------------------------- 12Upgrading from 2.1.x to 2.2.x
13*****************************
12 14
13.. warning:: 15Upgrade on a dedicated web server
16=================================
14 17
15 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. 18**From 2.1.x:**
16 19
17Upgrade on a dedicated web server 20::
18^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 21
22 make update
23 php bin/console doctrine:migrations:migrate --no-interaction -e=prod
24
25**From 2.2.0:**
19 26
20:: 27::
21 28
22 rm -rf var/cache/* 29 make update
23 git fetch origin 30
24 git fetch --tags 31Explanations about database migrations
25 git checkout 2.1.1 --force 32--------------------------------------
26 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist 33
27 php bin/console doctrine:migrations:migrate --env=prod 34During the update, we execute database migrations.
28 php bin/console cache:clear --env=prod 35
36All the database migrations are stored in ``app/DoctrineMigrations``. You can execute each migration individually:
37``bin/console doctrine:migrations:execute 20161001072726 --env=prod``.
38
39You can also cancel each migration individually: ``bin/console doctrine:migrations:execute 20161001072726 --down --env=prod``.
40
41Here is the migrations list for 2.1.x to 2.2.0 release:
42
43* ``20161001072726``: added foreign keys for account resetting
44* ``20161022134138``: converted database to ``utf8mb4`` encoding (for MySQL only)
45* ``20161024212538``: added ``user_id`` column on ``oauth2_clients`` to prevent users to delete API clients from other users
46* ``20161031132655``: added the internal setting to enable/disable downloading pictures
47* ``20161104073720``: added ``created_at`` index on ``entry`` table
48* ``20161106113822``: added ``action_mark_as_read`` field on ``config`` table
49* ``20161117071626``: added the internal setting to share articles to unmark.it
50* ``20161118134328``: added ``http_status`` field on ``entry`` table
51* ``20161122144743``: added the internal setting to enable/disable fetching articles with paywall
52* ``20161122203647``: dropped ``expired`` and ``credentials_expired`` fields on ``user`` table
53* ``20161128084725``: added ``list_mode`` field on ``config`` table
54* ``20161128131503``: dropped ``locked``, ``credentials_expire_at`` and ``expires_at`` fields on ``user`` table
55* ``20161214094402``: renamed ``uuid`` to ``uid`` on ``entry`` table
56* ``20161214094403``: added ``uid`` index on ``entry`` table
57* ``20170127093841``: added ``is_starred`` and ``is_archived`` indexes on ``entry`` table
29 58
30Upgrade on a shared hosting 59Upgrade on a shared hosting
31^^^^^^^^^^^^^^^^^^^^^^^^^^^ 60===========================
32 61
33Backup your ``app/config/parameters.yml`` file. 62Backup your ``app/config/parameters.yml`` file.
34 63
35Download the 2.1.1 release of wallabag: 64Download the last release of wallabag:
36 65
37.. code-block:: bash 66.. code-block:: bash
38 67
39 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz 68 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
40 69
41(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``) 70You will find the `md5 hash of the latest package on our website <https://www.wallabag.org/pages/download-wallabag.html>`_.
42 71
43Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours. 72Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
44 73
@@ -48,42 +77,45 @@ If you use SQLite, you must also copy your ``data/`` folder inside the new insta
48 77
49Empty ``var/cache`` folder. 78Empty ``var/cache`` folder.
50 79
51You 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: 80You 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.
52 81
53.. code-block:: sql 82You may encounter issues with indexes names: if so, please change queries with the correct index name.
54 83
55 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL; 84`You can find all the queries here <http://doc.wallabag.org/en/master/user/query-upgrade-21-22.html>`_.
56 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
57 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
58 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
59 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
60 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
61 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
62 85
63Upgrading from 2.1.x to 2.1.y 86***************************
64----------------------------- 87Upgrade from 2.0.x to 2.1.1
88***************************
65 89
66Upgrade on a dedicated web server 90.. warning::
67^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 91
92 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.
68 93
69In order to upgrade your wallabag installation and get the last version, run the following command in you wallabag folder: 94Upgrade on a dedicated web server
95=================================
70 96
71:: 97::
72 98
73 make update 99 rm -rf var/cache/*
100 git fetch origin
101 git fetch --tags
102 git checkout 2.1.1 --force
103 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
104 php bin/console doctrine:migrations:migrate --env=prod
105 php bin/console cache:clear --env=prod
74 106
75Upgrade on a shared hosting 107Upgrade on a shared hosting
76^^^^^^^^^^^^^^^^^^^^^^^^^^^ 108===========================
77 109
78Backup your ``app/config/parameters.yml`` file. 110Backup your ``app/config/parameters.yml`` file.
79 111
80Download the last release of wallabag: 112Download the 2.1.1 release of wallabag:
81 113
82.. code-block:: bash 114.. code-block:: bash
83 115
84 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package 116 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
85 117
86You will find the `md5 hash of the latest package on our website <https://www.wallabag.org/pages/download-wallabag.html>`_. 118(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``)
87 119
88Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours. 120Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
89 121
@@ -93,8 +125,21 @@ If you use SQLite, you must also copy your ``data/`` folder inside the new insta
93 125
94Empty ``var/cache`` folder. 126Empty ``var/cache`` folder.
95 127
128You 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:
129
130.. code-block:: sql
131
132 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
133 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
134 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
135 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
136 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
137 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
138 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
139
140*****************
96From wallabag 1.x 141From wallabag 1.x
97----------------- 142*****************
98 143
99There is no automatic script to update from wallabag 1.x to wallabag 2.x. You need to: 144There is no automatic script to update from wallabag 1.x to wallabag 2.x. You need to:
100 145