aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/de/developer/asynchronous.rst5
-rw-r--r--docs/de/developer/maintenance.rst32
-rw-r--r--docs/de/developer/paywall.rst56
-rw-r--r--docs/de/developer/translate.rst2
-rw-r--r--docs/de/index.rst2
-rw-r--r--docs/de/user/configuration.rst11
-rw-r--r--docs/de/user/filters.rst5
-rw-r--r--docs/de/user/import.rst47
-rw-r--r--docs/de/user/installation.rst4
-rw-r--r--docs/de/user/parameters.rst2
-rw-r--r--docs/de/user/query-upgrade-21-22.rst984
-rw-r--r--docs/de/user/upgrade.rst107
-rw-r--r--docs/en/developer/asynchronous.rst3
-rw-r--r--docs/en/developer/maintenance.rst32
-rw-r--r--docs/en/developer/paywall.rst56
-rw-r--r--docs/en/developer/translate.rst2
-rw-r--r--docs/en/index.rst2
-rw-r--r--docs/en/user/configuration.rst14
-rw-r--r--docs/en/user/filters.rst5
-rw-r--r--docs/en/user/import.rst32
-rw-r--r--docs/en/user/installation.rst4
-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
-rw-r--r--docs/fr/developer/asynchronous.rst3
-rw-r--r--docs/fr/developer/maintenance.rst33
-rw-r--r--docs/fr/developer/paywall.rst56
-rw-r--r--docs/fr/developer/translate.rst2
-rw-r--r--docs/fr/index.rst2
-rw-r--r--docs/fr/user/configuration.rst14
-rw-r--r--docs/fr/user/filters.rst5
-rw-r--r--docs/fr/user/import.rst34
-rw-r--r--docs/fr/user/installation.rst4
-rw-r--r--docs/fr/user/parameters.rst2
-rw-r--r--docs/fr/user/query-upgrade-21-22.rst984
-rw-r--r--docs/fr/user/upgrade.rst100
36 files changed, 3504 insertions, 250 deletions
diff --git a/docs/de/developer/asynchronous.rst b/docs/de/developer/asynchronous.rst
index 1d241a72..742dd3e5 100644
--- a/docs/de/developer/asynchronous.rst
+++ b/docs/de/developer/asynchronous.rst
@@ -47,6 +47,7 @@ Bearbeite deine ``app/config/parameters.yml``-Datei, um die RabbitMQ-Parameter z
47 rabbitmq_port: 5672 47 rabbitmq_port: 5672
48 rabbitmq_user: guest 48 rabbitmq_user: guest
49 rabbitmq_password: guest 49 rabbitmq_password: guest
50 rabbitmq_prefetch_count: 10 # lesen http://www.rabbitmq.com/consumer-prefetch.html
50 51
51RabbitMQ in wallabag aktivieren 52RabbitMQ in wallabag aktivieren
52^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 53^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -149,10 +150,10 @@ Abhängig davon, über welchen Service du importieren möchtest, musst du den en
149 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log 150 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
150 151
151 # für den Chrome-Import 152 # für den Chrome-Import
152 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-chrome.log 153 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
153 154
154Wenn du den Import nur für einige Artikel nutzen willst, kannst du die Nummer festlegen (hier: 12) und der Consumer wird nach dem zwölften Artikel aufhören: 155Wenn du den Import nur für einige Artikel nutzen willst, kannst du die Nummer festlegen (hier: 12) und der Consumer wird nach dem zwölften Artikel aufhören:
155 156
156.. code:: bash 157.. code:: bash
157 158
158 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12 \ No newline at end of file 159 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12
diff --git a/docs/de/developer/maintenance.rst b/docs/de/developer/maintenance.rst
deleted file mode 100644
index 31343876..00000000
--- a/docs/de/developer/maintenance.rst
+++ /dev/null
@@ -1,32 +0,0 @@
1Wartungsmodus
2=============
3
4Wenn du längere Aufgaben auf deiner wallabag Instanz ausführen willst, kannst du den Wartungsmodus aktivieren.
5Keiner wird dann Zugang zu deiner Instanz haben.
6
7Aktivieren des Wartungsmodus
8----------------------------
9
10Um den Wartungsmodus zu aktivieren, führe folgendes Kommando aus:
11
12::
13
14 bin/console lexik:maintenance:lock -e=prod --no-interaction
15
16Du kannst deine IP Adresse in ``app/config/config.yml`` setzen, wenn du Zugriff zu wallabag haben willst, auch wenn der Wartungsmodus aktiv ist. Zum Beispiel:
17
18::
19
20 lexik_maintenance:
21 authorized:
22 ips: ['127.0.0.1']
23
24
25Deaktivieren des Wartungsmodus
26------------------------
27
28Um den Wartungsmodus zu deaktivieren, führe dieses Kommando aus:
29
30::
31
32 bin/console lexik:maintenance:unlock -e=prod
diff --git a/docs/de/developer/paywall.rst b/docs/de/developer/paywall.rst
new file mode 100644
index 00000000..365027b4
--- /dev/null
+++ b/docs/de/developer/paywall.rst
@@ -0,0 +1,56 @@
1Articles behind a paywall
2=========================
3
4wallabag can fetch articles from websites which use a paywall system.
5
6Enable paywall authentication
7-----------------------------
8
9In internal settings, in the **Article** section, enable authentication for websites with paywall (with the value 1).
10
11Configure credentials in wallabag
12---------------------------------
13
14Edit your ``app/config/parameters.yml`` file to edit credentials for each website with paywall. Here is an example for some french websites:
15
16.. code:: yaml
17
18 sites_credentials:
19 mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
20 arretsurimages.net: {username: "myASILogin", password: "mypassword"}
21
22.. note::
23
24 These credentials will be shared between each user of your wallabag instance.
25
26Parsing configuration files
27---------------------------
28
29.. note::
30
31 Read `this part of the documentation <http://doc.wallabag.org/en/master/user/errors_during_fetching.html>`_ to understand the configuration files.
32
33Each parsing configuration file needs to be improved by adding ``requires_login``, ``login_uri``,
34``login_username_field``, ``login_password_field`` and ``not_logged_in_xpath``.
35
36Be careful, the login form must be in the page content when wallabag loads it. It's impossible for wallabag to be authenticated
37on a website where the login form is loaded after the page (by ajax for example).
38
39``login_uri`` is the action URL of the form (``action`` attribute in the form).
40``login_username_field`` is the ``name`` attribute of the login field.
41``login_password_field`` is the ``name`` attribute of the password field.
42
43For example:
44
45.. code::
46
47 title://div[@id="titrage-contenu"]/h1[@class="title"]
48 body: //div[@class="contenu-html"]/div[@class="page-pane"]
49
50 requires_login: yes
51
52 login_uri: http://www.arretsurimages.net/forum/login.php
53 login_username_field: username
54 login_password_field: password
55
56 not_logged_in_xpath: //body[@class="not-logged-in"]
diff --git a/docs/de/developer/translate.rst b/docs/de/developer/translate.rst
index 50e136ea..10544e31 100644
--- a/docs/de/developer/translate.rst
+++ b/docs/de/developer/translate.rst
@@ -20,7 +20,7 @@ der ISO 639-1 Code deiner Sprache ist (`siehe Wikipedia <https://en.wikipedia.or
20Andere Dateien zum Übersetzen: 20Andere Dateien zum Übersetzen:
21 21
22- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations. 22- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
23- https://github.com/wallabag/wallabag/tree/master/app/Resources/FOSUserBundle/translations. 23- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
24 24
25Du musst die ``THE_TRANSLATION_FILE.CODE.yml`` Dateien erstellen. 25Du musst die ``THE_TRANSLATION_FILE.CODE.yml`` Dateien erstellen.
26 26
diff --git a/docs/de/index.rst b/docs/de/index.rst
index 28a47200..1c3e4873 100644
--- a/docs/de/index.rst
+++ b/docs/de/index.rst
@@ -46,7 +46,7 @@ Die Dokumentation ist in anderen Sprachen verfügbar :
46 46
47 developer/api 47 developer/api
48 developer/docker 48 developer/docker
49 developer/paywall
49 developer/documentation 50 developer/documentation
50 developer/translate 51 developer/translate
51 developer/maintenance
52 developer/asynchronous 52 developer/asynchronous
diff --git a/docs/de/user/configuration.rst b/docs/de/user/configuration.rst
index 3fb501eb..47c60f4c 100644
--- a/docs/de/user/configuration.rst
+++ b/docs/de/user/configuration.rst
@@ -27,6 +27,14 @@ Lesegeschwindigkeit
27wallabag berechnet die Lesezeit für jeden Artikel. Du kannst hier definieren, dank dieser Liste, ob du 27wallabag berechnet die Lesezeit für jeden Artikel. Du kannst hier definieren, dank dieser Liste, ob du
28ein schneller oder langsamer Leser bist. wallabag wird die Lesezeit für jeden Artikel neu berechnen. 28ein schneller oder langsamer Leser bist. wallabag wird die Lesezeit für jeden Artikel neu berechnen.
29 29
30Wohin möchtest du weitergeleitet werden, nach dem ein Artikel als gelesen markiert wurde?
31~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32
33Jedes Mal, wenn du eine Aktion ausführst (nach dem Markieren eines Artikels als gelesen oder Favorit, nach dem Löschen eines Artikels oder dem Entfernen eines Tag von einem Eintrag), kannst du weitergeleitet werden:
34
35- zur Homepage
36- zur aktuellen Seite
37
30Sprache 38Sprache
31~~~~~~~ 39~~~~~~~
32 40
@@ -44,6 +52,9 @@ Jetzt hast du drei Links, einen für jeden Status: Füge sie in deinem liebsten
44 52
45Du kannst auch definieren wie viele Artikel du in deinem RSS Feed (Standardwert: 50) haben willst. 53Du kannst auch definieren wie viele Artikel du in deinem RSS Feed (Standardwert: 50) haben willst.
46 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
47Benutzer-Informationen 58Benutzer-Informationen
48---------------------- 59----------------------
49 60
diff --git a/docs/de/user/filters.rst b/docs/de/user/filters.rst
index c9cda6b6..94b82b24 100644
--- a/docs/de/user/filters.rst
+++ b/docs/de/user/filters.rst
@@ -30,6 +30,11 @@ Sprache
30wallabag (via graby) kann die Artikelsprache erkennen. Es ist einfach für dich, Artikel 30wallabag (via graby) kann die Artikelsprache erkennen. Es ist einfach für dich, Artikel
31in einer bestimmten Sprache zu filtern. 31in einer bestimmten Sprache zu filtern.
32 32
33HTTP status
34-----------
35
36You can retrieve the articles by filtering by their HTTP status code: 200, 404, 500, etc.
37
33Lesezeit 38Lesezeit
34-------- 39--------
35 40
diff --git a/docs/de/user/import.rst b/docs/de/user/import.rst
index 55ab9291..399a1b98 100644
--- a/docs/de/user/import.rst
+++ b/docs/de/user/import.rst
@@ -42,35 +42,50 @@ Du musst wallabag erlauben, mit deinem Pocketaccount zu interagieren.
42Deine Daten werden importiert. Datenimport kann ein sehr anspruchsvoller Prozess für deinen Server 42Deine Daten werden importiert. Datenimport kann ein sehr anspruchsvoller Prozess für deinen Server
43sein (wir müssen daran arbeiten, um diesen Import zu verbessern). 43sein (wir müssen daran arbeiten, um diesen Import zu verbessern).
44 44
45Readability 45Von Readability
46----------- 46----------------
47 47
48Exportiere deine Readability-Daten 48Exportiere deine Readability Daten
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51Auf der Seite Tools (`https://www.readability.com/tools/ <https://www.readability.com/tools/>`_), klicke auf "Exportiere deine Daten" in dem Abschnitt "Daten Export". Du wirst eine E-Mail empfangen, um eine JSON Datei herunterladen zu können (Datei endet aber nicht auf .json).
52
53Importiere deine Daten in wallabag 2.x
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 54~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50 55
51Auf der Tools-Seite (`https://www.readability.com/tools/ <https://www.readability.com/tools/>`_), klicke auf "Daten exportieren" im "Daten-Export"-Abschnitt. Du wirst eine E-Mail mit einem Downloadlink zu einer JSON-Datei erhalten, welche zugegebenermaßen nicht mit .json endet. 56Klicke auf den ``Importieren`` Link im Menü, auf ``Importiere Inhalte`` in dem Readability Abschnitt und wähle dann deine JSON Datei aus und lade sie hoch.
57
58Deine Daten werden importiert. Der Datenimport can ein beanspruchender Prozess für deinen Server sein.
59
60Von Pinboard
61-------------
62
63Exportiere deine Pinboard Daten
64~~~~~~~~~~~~~~~~~~~~~~~~~
65
66Auf der Seite Backup (`https://pinboard.in/settings/backup <https://pinboard.in/settings/backup>`_), klicke auf "JSON" in dem Abschnitt "Lesezeichen". Eine JSON Datei wird heruntergeladen (z.B. ``pinboard_export``).
52 67
53Importiere deine Daten in wallabag 2.x 68Importiere deine Daten in wallabag 2.x
54~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 69~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 70
56Klicke auf den ``Importieren``-Link im Menü, auf ``Inhalte importieren`` im Readability-Abschnitt und wähle dann deine JSON-Datei aus und lade sie hoch. 71Klicke auf den ``Importieren`` Link im Menü, auf ``Importiere Inhalte`` in dem Pinboard Abschnitt und wähle dann deine JSON Datei aus und lade sie hoch.
57 72
58Deine Daten werden dann importiert. Dies kann eine starke Belastung für den Server sein. 73Deine Daten werden importiert. Der Datenimport can ein beanspruchender Prozess für deinen Server sein.
59 74
60Instapaper 75Von Instapaper
61---------- 76---------------
62 77
63Exportiere deine Instapaper-Daten 78Exportiere deine Instapaper Daten
64~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65 80
66Klicke in den Einstellungen (`https://www.instapaper.com/user <https://www.instapaper.com/user>`_) auf "CSV-Datei herunterladen" im Export-Abschnitt. Eine CSV-Datei mit dem Namen ``instapaper-export.csv`` wird heruntergeladen. 81Auf der Seite Einstellungen (`https://www.instapaper.com/user <https://www.instapaper.com/user>`_), klicke auf "Download .CSV Datei" in dem Abschnitt "Export". Eine CSV Datei wird heruntergeladen (z.B. ``instapaper-export.csv``).
67 82
68Importiere deine Daten in wallabag 2.x 83Importiere deine Daten in wallabag 2.x
69~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 84~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 85
71Klicke auf den ``Importieren``-Link im Menü, auf ``Inhalte importieren`` im Instapaper-Abschnitt und wähle dann deine CSV-Datei aus und lade sie hoch. 86Klicke auf den ``Importieren`` Link im Menü, auf ``Importiere Inhalte`` in dem Instapaper Abschnitt und wähle dann deine JSON Datei aus und lade sie hoch.
72 87
73Deine Daten werden dann importiert. Dies kann eine starke Belastung für den Server sein. 88Deine Daten werden importiert. Der Datenimport can ein beanspruchender Prozess für deinen Server sein.
74 89
75wallabag 1.x 90wallabag 1.x
76------------ 91------------
@@ -134,4 +149,4 @@ Als Ergebnis wirst du so etwas erhalten:
134 Start : 05-04-2016 11:36:07 --- 149 Start : 05-04-2016 11:36:07 ---
135 403 imported 150 403 imported
136 0 already saved 151 0 already saved
137 End : 05-04-2016 11:36:09 --- \ No newline at end of file 152 End : 05-04-2016 11:36:09 ---
diff --git a/docs/de/user/installation.rst b/docs/de/user/installation.rst
index 131aa1f8..cec62d18 100644
--- a/docs/de/user/installation.rst
+++ b/docs/de/user/installation.rst
@@ -16,7 +16,7 @@ Composer installieren:
16 16
17:: 17::
18 18
19 curl -s http://getcomposer.org/installer | php 19 curl -s https://getcomposer.org/installer | php
20 20
21Du kannst eine spezifische Anleitung `hier <https://getcomposer.org/doc/00-intro.md>`__ finden. 21Du kannst eine spezifische Anleitung `hier <https://getcomposer.org/doc/00-intro.md>`__ finden.
22 22
@@ -86,7 +86,7 @@ Führe dieses Kommando aus, um das neueste Paket herunterzuladen und zu entpacke
86 86
87.. code-block:: bash 87.. code-block:: bash
88 88
89 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package 89 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
90 90
91Du findest die `md5 Hashsumme des neuesten Pakets auf unserer Website <https://www.wallabag.org/pages/download-wallabag.html>`_. 91Du findest die `md5 Hashsumme des neuesten Pakets auf unserer Website <https://www.wallabag.org/pages/download-wallabag.html>`_.
92 92
diff --git a/docs/de/user/parameters.rst b/docs/de/user/parameters.rst
index a5a4e4f2..8d8f9206 100644
--- a/docs/de/user/parameters.rst
+++ b/docs/de/user/parameters.rst
@@ -39,6 +39,7 @@ Wenn du nicht weißt, welchen Wert du setzen sollst, belasse es bei dem Standard
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
43Bedeutung von jedem Parameter 44Bedeutung von jedem Parameter
44----------------------------- 45-----------------------------
@@ -91,3 +92,4 @@ Bedeutung von jedem Parameter
91 "redis_host", "localhost", "IP oder Hostname des Zielservers (ignoriert bei Unix Schema)" 92 "redis_host", "localhost", "IP oder Hostname des Zielservers (ignoriert bei Unix Schema)"
92 "redis_port", "6379", "TCP/IP Port des Zielservers (ignoriert bei Unix Schema)" 93 "redis_port", "6379", "TCP/IP Port des Zielservers (ignoriert bei Unix Schema)"
93 "redis_path", "null", "Pfad zur Unix Domain Socket Datei, wenn Redis Unix Domain Sockets nutzt" 94 "redis_path", "null", "Pfad zur Unix Domain Socket Datei, wenn Redis Unix Domain Sockets nutzt"
95 "redis_password", "null", "Kennwort, welches in der Redis-Server-Konfiguration definiert ist (Parameter `requirepass` in `redis.conf`)"
diff --git a/docs/de/user/query-upgrade-21-22.rst b/docs/de/user/query-upgrade-21-22.rst
new file mode 100644
index 00000000..fa9835a8
--- /dev/null
+++ b/docs/de/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/de/user/upgrade.rst b/docs/de/user/upgrade.rst
index ad020dd8..b9de6480 100644
--- a/docs/de/user/upgrade.rst
+++ b/docs/de/user/upgrade.rst
@@ -3,42 +3,67 @@ wallabag-Installation aktualisieren
3 3
4Du wirst hier mehrere Wege finden, um deine wallabag zu aktualisieren: 4Du wirst hier mehrere Wege finden, um deine wallabag zu aktualisieren:
5 5
6- `von 2.1.x zu 2.2.x <#upgrade-von-2-1-x-zu-2-2-x>`_
6- `von 2.0.x zu 2.1.1 <#upgrade-von-2-0-x-zu-2-1-1>`_ 7- `von 2.0.x zu 2.1.1 <#upgrade-von-2-0-x-zu-2-1-1>`_
7- `von 2.1.x zu 2.1.y <#upgrade-von-2-1-x-zu-2-1-y>`_
8- `von 1.x zu 2.x <#upgrade-von-1-x>`_ 8- `von 1.x zu 2.x <#upgrade-von-1-x>`_
9 9
10Upgrade von 2.0.x zu 2.1.1 10Upgrade von 2.1.x zu 2.2.x
11--------------------------- 11--------------------------
12
13.. warning::
14
15 Mache eine Sicherung deines Pocket-Consumer-Key, falls hinzugefügt, da dieser nach dem Upgrade erneut hinzugefügt werden muss.
16 12
17Upgrade auf einem dedizierten Webserver 13Upgrade auf einem dedizierten Webserver
18^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 14^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19 15
16**Von 2.1.x:**
17
20:: 18::
21 19
22 rm -rf var/cache/* 20 make update
23 git fetch origin 21 php bin/console doctrine:migrations:migrate --no-interaction -e=prod
24 git fetch --tags 22
25 git checkout 2.1.1 --force 23**Von 2.2.0:**
26 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist 24
27 php bin/console doctrine:migrations:migrate --env=prod 25::
28 php bin/console cache:clear --env=prod 26
27 make update
28
29Erklärungen über die Datenbankmigration
30"""""""""""""""""""""""""""""""""""""""
31
32Während des Updates migrieren wir die Datenbank.
33
34Alle Datenbankmigrationen sind im Verzeichnis ``app/DoctrineMigrations`` gespeichert. Jede von ihnen kann einzeln ausgeführt werden:
35``bin/console doctrine:migrations:execute 20161001072726 --env=prod``.
36
37Dies ist die Migrationsliste von 2.1.x auf 2.2.0:
38
39* ``20161001072726``: Fremdschlüssel für das Zurücksetzen des Kontos hinzugefügt
40* ``20161022134138``: Datenbank zum ``utf8mb4``-Encoding ändern (nur für MySQL)
41* ``20161024212538``: ``user_id``-Spalte zu ``oauth2_clients`` hinzugefügt, um Benutzer davon abzuhalten, API-Clients anderer Nutzer zu löschen
42* ``20161031132655``: Interne Einstellung für das (de-)aktivieren vom Bilder-Download hinzugefügt
43* ``20161104073720``: ``created_at``-Index zur ``entry``-Tabelle hinzugefügt
44* ``20161106113822``: ``action_mark_as_read``-Feld zur ``config``-Tabelle hinzugefügt
45* ``20161117071626``: Interne Einstellung zum Teilen mit unmark.it hinzugefügt
46* ``20161118134328``: ``http_status``-Feld zur ``entry``-Tabelle hinzugefügt
47* ``20161122144743``: Interne Einstellung für das (de-)aktivieren zum Holen von Artikeln mit einer Paywall hinzugefügt
48* ``20161122203647``: ``expired``- und ``credentials_expired``-Feld aus der ``user``-Tabelle entfernt
49* ``20161128084725``: added ``list_mode`` field on ``config`` table
50* ``20161128131503``: dropped ``locked``, ``credentials_expire_at`` and ``expires_at`` fields on ``user`` table
51* ``20161214094402``: renamed ``uuid`` to ``uid`` on ``entry`` table
52* ``20161214094403``: added ``uid`` index on ``entry`` table
53* ``20170127093841``: added ``is_starred`` and ``is_archived`` indexes on ``entry`` table
29 54
30Upgrade auf einem Shared Hosting 55Upgrade auf einem Shared Hosting
31^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 56^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
32 57
33Sichere deine ``app/config/parameters.yml``-Datei. 58Sichere deine ``app/config/parameters.yml``-Datei.
34 59
35Lade das 2.1.1-Release von wallabag herunter: 60Lade das letzte Release von wallabag herunter:
36 61
37.. code-block:: bash 62.. code-block:: bash
38 63
39 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz 64 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
40 65
41(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``) 66Du findest den `aktuellen MD5-Hash auf unserer Webseite <https://www.wallabag.org/pages/download-wallabag.html>`_.
42 67
43Extrahiere das Archiv in deinen wallabag-Ordner und ersetze die ``app/config/parameters.yml`` mit deiner. 68Extrahiere das Archiv in deinen wallabag-Ordner und ersetze die ``app/config/parameters.yml`` mit deiner.
44 69
@@ -48,42 +73,42 @@ Falls du SQLite nutzt, musst du außerdem deinen ``data/``-Ordner in die neue In
48 73
49Leere den ``var/cache``-Ordner. 74Leere den ``var/cache``-Ordner.
50 75
51Du musst einige SQL-Abfragen durchführen, um deine Datenbank zu aktualisieren. Wir gehen in diesem Fall davon aus, dass das Tabellenpräfix ``wallabag_`` ist und eine MySQL-Datenbank verwendet wird: 76Du musst einige SQL-Abfragen durchführen, um deine Datenbank zu aktualisieren. Wir gehen in diesem Fall davon aus, dass das Tabellenpräfix ``wallabag_`` ist.
52 77
53.. code-block:: sql 78`You can find all the queries here <http://doc.wallabag.org/en/master/user/query-upgrade-21-22.html>`_.
54 79
55 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL; 80Upgrade von 2.0.x zu 2.1.1
56 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry'); 81---------------------------
57 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL; 82
58 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import'); 83.. warning::
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 84
63Upgrade von 2.1.x zu 2.1.y 85 Mache eine Sicherung deines Pocket-Consumer-Key, falls hinzugefügt, da dieser nach dem Upgrade erneut hinzugefügt werden muss.
64-----------------------------
65 86
66Upgrade auf einem dedizierten Webserver 87Upgrade auf einem dedizierten Webserver
67^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 88^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
68 89
69Um deine wallabag-Installation auf die letzte Version zu aktualisieren, führe den folgenden Befehl in deinem wallabag-Ordner aus:
70
71:: 90::
72 91
73 make update 92 rm -rf var/cache/*
93 git fetch origin
94 git fetch --tags
95 git checkout 2.1.1 --force
96 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
97 php bin/console doctrine:migrations:migrate --env=prod
98 php bin/console cache:clear --env=prod
74 99
75Upgrade auf einem Shared Hosting 100Upgrade auf einem Shared Hosting
76^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 101^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
77 102
78Sichere deine ``app/config/parameters.yml``-Datei. 103Sichere deine ``app/config/parameters.yml``-Datei.
79 104
80Lade das letzte Release von wallabag herunter: 105Lade das 2.1.1-Release von wallabag herunter:
81 106
82.. code-block:: bash 107.. code-block:: bash
83 108
84 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package 109 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
85 110
86Du findest den `aktuellen MD5-Hash auf unserer Webseite <https://www.wallabag.org/pages/download-wallabag.html>`_. 111(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``)
87 112
88Extrahiere das Archiv in deinen wallabag-Ordner und ersetze die ``app/config/parameters.yml`` mit deiner. 113Extrahiere das Archiv in deinen wallabag-Ordner und ersetze die ``app/config/parameters.yml`` mit deiner.
89 114
@@ -93,6 +118,18 @@ Falls du SQLite nutzt, musst du außerdem deinen ``data/``-Ordner in die neue In
93 118
94Leere den ``var/cache``-Ordner. 119Leere den ``var/cache``-Ordner.
95 120
121Du musst einige SQL-Abfragen durchführen, um deine Datenbank zu aktualisieren. Wir gehen in diesem Fall davon aus, dass das Tabellenpräfix ``wallabag_`` ist und eine MySQL-Datenbank verwendet wird:
122
123.. code-block:: sql
124
125 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
126 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
127 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
128 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
129 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
130 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
131 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
132
96Upgrade von 1.x 133Upgrade von 1.x
97--------------- 134---------------
98 135
@@ -100,4 +137,4 @@ Es gibt kein automatisiertes Skript, um wallabag 1.x auf wallabag 2.x zu aktuali
100 137
101- deine Daten exportieren 138- deine Daten exportieren
102- wallabag 2.x installieren (Dokumentation <http://doc.wallabag.org/en/master/user/installation.html>`_ ) 139- wallabag 2.x installieren (Dokumentation <http://doc.wallabag.org/en/master/user/installation.html>`_ )
103- die Daten in die neue Installation importieren (`Dokumentation <http://doc.wallabag.org/en/master/user/import.html>`_ ) \ No newline at end of file 140- die Daten in die neue Installation importieren (`Dokumentation <http://doc.wallabag.org/en/master/user/import.html>`_ )
diff --git a/docs/en/developer/asynchronous.rst b/docs/en/developer/asynchronous.rst
index 6a991cf6..2e409e4a 100644
--- a/docs/en/developer/asynchronous.rst
+++ b/docs/en/developer/asynchronous.rst
@@ -48,6 +48,7 @@ Edit your ``app/config/parameters.yml`` file to edit RabbitMQ configuration. The
48 rabbitmq_port: 5672 48 rabbitmq_port: 5672
49 rabbitmq_user: guest 49 rabbitmq_user: guest
50 rabbitmq_password: guest 50 rabbitmq_password: guest
51 rabbitmq_prefetch_count: 10 # read http://www.rabbitmq.com/consumer-prefetch.html
51 52
52Enable RabbitMQ in wallabag 53Enable RabbitMQ in wallabag
53^^^^^^^^^^^^^^^^^^^^^^^^^^^ 54^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -150,7 +151,7 @@ Depending on which service you want to import from you need to enable one (or ma
150 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log 151 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
151 152
152 # for Chrome import 153 # for Chrome import
153 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-chrome.log 154 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
154 155
155If you want to launch the import only for some messages and not all, you can specify this number (here 12) and the worker will stop right after the 12th message : 156If you want to launch the import only for some messages and not all, you can specify this number (here 12) and the worker will stop right after the 12th message :
156 157
diff --git a/docs/en/developer/maintenance.rst b/docs/en/developer/maintenance.rst
deleted file mode 100644
index 6d55ed60..00000000
--- a/docs/en/developer/maintenance.rst
+++ /dev/null
@@ -1,32 +0,0 @@
1Maintenance mode
2================
3
4If you have some long tasks to do on your wallabag instance, you can enable a maintenance mode.
5Nobody will have access to your instance.
6
7Enable maintenance mode
8-----------------------
9
10To enable maintenance mode, execute this command:
11
12::
13
14 bin/console lexik:maintenance:lock --no-interaction -e=prod
15
16You can set your IP address in ``app/config/config.yml`` if you want to access to wallabag even if maintenance mode is enabled. For example:
17
18::
19
20 lexik_maintenance:
21 authorized:
22 ips: ['127.0.0.1']
23
24
25Disable maintenance mode
26------------------------
27
28To disable maintenance mode, execute this command:
29
30::
31
32 bin/console lexik:maintenance:unlock -e=prod
diff --git a/docs/en/developer/paywall.rst b/docs/en/developer/paywall.rst
new file mode 100644
index 00000000..365027b4
--- /dev/null
+++ b/docs/en/developer/paywall.rst
@@ -0,0 +1,56 @@
1Articles behind a paywall
2=========================
3
4wallabag can fetch articles from websites which use a paywall system.
5
6Enable paywall authentication
7-----------------------------
8
9In internal settings, in the **Article** section, enable authentication for websites with paywall (with the value 1).
10
11Configure credentials in wallabag
12---------------------------------
13
14Edit your ``app/config/parameters.yml`` file to edit credentials for each website with paywall. Here is an example for some french websites:
15
16.. code:: yaml
17
18 sites_credentials:
19 mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
20 arretsurimages.net: {username: "myASILogin", password: "mypassword"}
21
22.. note::
23
24 These credentials will be shared between each user of your wallabag instance.
25
26Parsing configuration files
27---------------------------
28
29.. note::
30
31 Read `this part of the documentation <http://doc.wallabag.org/en/master/user/errors_during_fetching.html>`_ to understand the configuration files.
32
33Each parsing configuration file needs to be improved by adding ``requires_login``, ``login_uri``,
34``login_username_field``, ``login_password_field`` and ``not_logged_in_xpath``.
35
36Be careful, the login form must be in the page content when wallabag loads it. It's impossible for wallabag to be authenticated
37on a website where the login form is loaded after the page (by ajax for example).
38
39``login_uri`` is the action URL of the form (``action`` attribute in the form).
40``login_username_field`` is the ``name`` attribute of the login field.
41``login_password_field`` is the ``name`` attribute of the password field.
42
43For example:
44
45.. code::
46
47 title://div[@id="titrage-contenu"]/h1[@class="title"]
48 body: //div[@class="contenu-html"]/div[@class="page-pane"]
49
50 requires_login: yes
51
52 login_uri: http://www.arretsurimages.net/forum/login.php
53 login_username_field: username
54 login_password_field: password
55
56 not_logged_in_xpath: //body[@class="not-logged-in"]
diff --git a/docs/en/developer/translate.rst b/docs/en/developer/translate.rst
index d412d3e9..1e5d5009 100644
--- a/docs/en/developer/translate.rst
+++ b/docs/en/developer/translate.rst
@@ -20,7 +20,7 @@ is the ISO 639-1 code of your language (`see wikipedia <https://en.wikipedia.org
20Other files to translate: 20Other files to translate:
21 21
22- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations. 22- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
23- https://github.com/wallabag/wallabag/tree/master/app/Resources/FOSUserBundle/translations. 23- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
24 24
25You have to create ``THE_TRANSLATION_FILE.CODE.yml`` files. 25You have to create ``THE_TRANSLATION_FILE.CODE.yml`` files.
26 26
diff --git a/docs/en/index.rst b/docs/en/index.rst
index 77425bfa..2e20aee6 100644
--- a/docs/en/index.rst
+++ b/docs/en/index.rst
@@ -46,7 +46,7 @@ The documentation is available in other languages:
46 46
47 developer/api 47 developer/api
48 developer/docker 48 developer/docker
49 developer/paywall
49 developer/documentation 50 developer/documentation
50 developer/translate 51 developer/translate
51 developer/maintenance
52 developer/asynchronous 52 developer/asynchronous
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/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..7d3bcf61 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
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
diff --git a/docs/fr/developer/asynchronous.rst b/docs/fr/developer/asynchronous.rst
index c5489228..ff22daea 100644
--- a/docs/fr/developer/asynchronous.rst
+++ b/docs/fr/developer/asynchronous.rst
@@ -49,6 +49,7 @@ Modifiez votre fichier ``app/config/parameters.yml`` pour éditer la configurati
49 rabbitmq_port: 5672 49 rabbitmq_port: 5672
50 rabbitmq_user: guest 50 rabbitmq_user: guest
51 rabbitmq_password: guest 51 rabbitmq_password: guest
52 rabbitmq_prefetch_count: 10 # lire http://www.rabbitmq.com/consumer-prefetch.html
52 53
53Activer RabbitMQ dans wallabag 54Activer RabbitMQ dans wallabag
54^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 55^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -150,7 +151,7 @@ En fonction du service dont vous souhaitez importer vos données, vous devez act
150 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log 151 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
151 152
152 # for Chrome import 153 # for Chrome import
153 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-chrome.log 154 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
154 155
155Si vous souhaitez démarrer l'import pour quelques messages uniquement, vous pouvez spécifier cette valeur en paramètre (ici 12) et le client va s'arrêter après le 12ème message : 156Si vous souhaitez démarrer l'import pour quelques messages uniquement, vous pouvez spécifier cette valeur en paramètre (ici 12) et le client va s'arrêter après le 12ème message :
156 157
diff --git a/docs/fr/developer/maintenance.rst b/docs/fr/developer/maintenance.rst
deleted file mode 100644
index 8007a85f..00000000
--- a/docs/fr/developer/maintenance.rst
+++ /dev/null
@@ -1,33 +0,0 @@
1Mode maintenance
2================
3
4Si vous devez effectuer de longues tâches sur votre instance de wallabag, vous pouvez activer le mode maintenance.
5Plus personne ne pourra accéder à wallabag.
6
7Activer le mode maintenance
8---------------------------
9
10Pour activer le mode maintenance, exécutez cette commande :
11
12::
13
14 bin/console lexik:maintenance:lock --no-interaction -e=prod
15
16Vous pouvez spécifier votre adresse IP dans ``app/config/config.yml`` si vous souhaitez accéder à wallabag même si
17 le mode maintenance est activé. Par exemple :
18
19::
20
21 lexik_maintenance:
22 authorized:
23 ips: ['127.0.0.1']
24
25
26Désactiver le mode maintenance
27------------------------------
28
29Pour désactiver le mode maintenance, exécutez cette commande :
30
31::
32
33 bin/console lexik:maintenance:unlock -e=prod
diff --git a/docs/fr/developer/paywall.rst b/docs/fr/developer/paywall.rst
new file mode 100644
index 00000000..c1c410b1
--- /dev/null
+++ b/docs/fr/developer/paywall.rst
@@ -0,0 +1,56 @@
1Articles derrière un paywall
2============================
3
4wallabag peut récupérer le contenu des articles des sites qui utilisent un système de paiement.
5
6Activer l'authentification pour les paywall
7-------------------------------------------
8
9Dans les paramètres internes, section **Article**, activez l'authentification pour les articles derrière un paywall (avec la valeur 1).
10
11Configurer les accès dans wallabag
12----------------------------------
13
14Éditez le fichier ``app/config/parameters.yml`` pour modifier les accès aux sites avec paywall. Voici un exemple pour certains sites :
15
16.. code:: yaml
17
18 sites_credentials:
19 mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
20 arretsurimages.net: {username: "myASILogin", password: "mypassword"}
21
22.. note::
23
24 Ces accès seront partagés entre chaque utilisateur de votre instance wallabag.
25
26Fichiers de configuration pour parser les articles
27--------------------------------------------------
28
29.. note::
30
31 Lisez `cette documentation <http://doc.wallabag.org/fr/master/user/errors_during_fetching.html>`_ pour en savoir plus sur ces fichiers de configuration.
32
33Chaque fichier de configuration doit être enrichi en ajoutant ``requires_login``, ``login_uri``,
34``login_username_field``, ``login_password_field`` et ``not_logged_in_xpath``.
35
36Attention, le formulaire de connexion doit se trouver dans le contenu de la page lors du chargement de celle-ci.
37Il sera impossible pour wallabag de se connecter à un site dont le formulaire de connexion est chargé après coup (en ajax par exemple).
38
39``login_uri`` correspond à l'URL à laquelle le formulaire est soumis (attribut ``action`` du formulaire).
40``login_username_field`` correspond à l'attribut ``name`` du champ de l'identifiant.
41``login_password_field`` correspond à l'attribut ``name`` du champ du mot de passe.
42
43Par exemple :
44
45.. code::
46
47 title://div[@id="titrage-contenu"]/h1[@class="title"]
48 body: //div[@class="contenu-html"]/div[@class="page-pane"]
49
50 requires_login: yes
51
52 login_uri: http://www.arretsurimages.net/forum/login.php
53 login_username_field: username
54 login_password_field: password
55
56 not_logged_in_xpath: //body[@class="not-logged-in"]
diff --git a/docs/fr/developer/translate.rst b/docs/fr/developer/translate.rst
index 902c29ad..870d1c20 100644
--- a/docs/fr/developer/translate.rst
+++ b/docs/fr/developer/translate.rst
@@ -21,7 +21,7 @@ où CODE est le code ISO 639-1 de votre langue (`cf wikipedia <https://fr.wikipe
21Autres fichiers à traduire : 21Autres fichiers à traduire :
22 22
23- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations. 23- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
24- https://github.com/wallabag/wallabag/tree/master/app/Resources/FOSUserBundle/translations. 24- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
25 25
26Vous devez créer les fichiers ``LE_FICHIER_DE_TRADUCTION.CODE.yml``. 26Vous devez créer les fichiers ``LE_FICHIER_DE_TRADUCTION.CODE.yml``.
27 27
diff --git a/docs/fr/index.rst b/docs/fr/index.rst
index 564ffe52..e3f14b04 100644
--- a/docs/fr/index.rst
+++ b/docs/fr/index.rst
@@ -47,7 +47,7 @@ La documentation est disponible dans d'autres langues :
47 47
48 developer/api 48 developer/api
49 developer/docker 49 developer/docker
50 developer/paywall
50 developer/documentation 51 developer/documentation
51 developer/translate 52 developer/translate
52 developer/maintenance
53 developer/asynchronous 53 developer/asynchronous
diff --git a/docs/fr/user/configuration.rst b/docs/fr/user/configuration.rst
index 8ee0a49b..025b05bb 100644
--- a/docs/fr/user/configuration.rst
+++ b/docs/fr/user/configuration.rst
@@ -26,6 +26,15 @@ Vitesse de lecture
26 26
27wallabag calcule une durée de lecture pour chaque article. Vous pouvez définir ici, grâce à cette liste déroulante, si vous lisez plus ou moins vite. wallabag recalculera la durée de lecture de chaque article. 27wallabag calcule une durée de lecture pour chaque article. Vous pouvez définir ici, grâce à cette liste déroulante, si vous lisez plus ou moins vite. wallabag recalculera la durée de lecture de chaque article.
28 28
29Où souhaitez-vous être redirigé après avoir marqué un article comme lu ?
30~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31
32Chaque fois que vous ferez certaines actions (après avoir marqué un article comme lu / comme favori,
33après avoir supprimé un article, après avoir retiré un tag d'un article), vous pouvez être redirigé :
34
35- sur la page d'accueil
36- sur la page courante
37
29Langue 38Langue
30~~~~~~ 39~~~~~~
31 40
@@ -44,11 +53,16 @@ Vous avez maintenant trois liens, un par statut : ajoutez-les dans votre agrég
44Vous pouvez aussi définir combien d'articles vous souhaitez dans vos flux RSS 53Vous pouvez aussi définir combien d'articles vous souhaitez dans vos flux RSS
45(50 est la valeur par défaut). 54(50 est la valeur par défaut).
46 55
56Une pagination est aussi disponible pour ces flux. Il suffit de rajouter ``?page=2`` pour aller à la seconde page, par exemple.
57Cette pagination suit `la RFC <https://tools.ietf.org/html/rfc5005#page-4>`_, ce qui signifie que vous trouverez la page suivante (``next``), précédente (``previous``) et la dernière (``last``) dans la balise `<channel>` de chaque flux RSS.
58
47Mon compte 59Mon compte
48---------- 60----------
49 61
50Vous pouvez ici modifier votre nom, votre adresse email et activer la ``Double authentification``. 62Vous pouvez ici modifier votre nom, votre adresse email et activer la ``Double authentification``.
51 63
64Si l'instance de wallabag compte plus d'un utilisateur actif, vous pouvez supprimer ici votre compte. **Attention, nous supprimons toutes vos données**.
65
52Double authentification (2FA) 66Double authentification (2FA)
53~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 67~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54 68
diff --git a/docs/fr/user/filters.rst b/docs/fr/user/filters.rst
index 449bf010..5807bdbd 100644
--- a/docs/fr/user/filters.rst
+++ b/docs/fr/user/filters.rst
@@ -30,6 +30,11 @@ Langage
30wallabag (via graby) peut détecter la langue dans laquelle l'article est écrit. 30wallabag (via graby) peut détecter la langue dans laquelle l'article est écrit.
31C'est ainsi facile pour vous de retrouver des articles écrits dans une langue spécifique. 31C'est ainsi facile pour vous de retrouver des articles écrits dans une langue spécifique.
32 32
33Statut HTTP
34-----------
35
36Vous pouvez retrouver des articles en filtrant par leur code HTTP : 200, 404, 500, etc.
37
33Temps de lecture 38Temps de lecture
34---------------- 39----------------
35 40
diff --git a/docs/fr/user/import.rst b/docs/fr/user/import.rst
index a5d53247..9a2dda8f 100644
--- a/docs/fr/user/import.rst
+++ b/docs/fr/user/import.rst
@@ -1,13 +1,13 @@
1Migrer depuis ... 1Migrer depuis ...
2================= 2=================
3 3
4Dans wallabag 2.x, vous pouvez importer des données depuis : 4Dans wallabag 2.x, vous pouvez importer des données depuis :
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
12Nous avons aussi développé `un script pour exécuter des migrations via la ligne de commande <#import-via-la-ligne-de-commande-cli>`_. 12Nous avons aussi développé `un script pour exécuter des migrations via la ligne de commande <#import-via-la-ligne-de-commande-cli>`_.
13 13
@@ -58,8 +58,24 @@ la section Readability et ensuite sélectionnez votre fichier json pour l'upload
58 58
59Vos données vont être importées. L'import de données est une action qui peut être couteuse pour votre serveur. 59Vos données vont être importées. L'import de données est une action qui peut être couteuse pour votre serveur.
60 60
61Instapaper 61Depuis Pinboard
62---------- 62---------------
63
64Exportez vos données de Pinboard
65~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66
67Sur la page « Backup » (`https://pinboard.in/settings/backup <https://pinboard.in/settings/backup>`_), cliquez sur « JSON » dans la section « Bookmarks ». Un fichier json (sans extension) sera téléchargé (``pinboard_export``).
68
69Importez vos données dans wallabag 2.x
70~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71
72Cliquez sur le lien ``Importer`` dans le menu, sur ``Importer les contenus`` dans
73la section Pinboard et ensuite sélectionnez votre fichier json pour l'uploader.
74
75Vos données vont être importées. L'import de données est une action qui peut être couteuse pour votre serveur.
76
77Depuis Instapaper
78-----------------
63 79
64Exportez vos données de Instapaper 80Exportez vos données de Instapaper
65~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 81~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -136,4 +152,4 @@ Vous obtiendrez :
136 Start : 05-04-2016 11:36:07 --- 152 Start : 05-04-2016 11:36:07 ---
137 403 imported 153 403 imported
138 0 already saved 154 0 already saved
139 End : 05-04-2016 11:36:09 --- \ No newline at end of file 155 End : 05-04-2016 11:36:09 ---
diff --git a/docs/fr/user/installation.rst b/docs/fr/user/installation.rst
index f6afcda6..9ef5ee98 100644
--- a/docs/fr/user/installation.rst
+++ b/docs/fr/user/installation.rst
@@ -16,7 +16,7 @@ Installation de 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
21Vous pouvez trouver des instructions spécifiques `ici (en anglais) <https://getcomposer.org/doc/00-intro.md>`__. 21Vous pouvez trouver des instructions spécifiques `ici (en anglais) <https://getcomposer.org/doc/00-intro.md>`__.
22 22
@@ -82,7 +82,7 @@ Exécutez cette commande pour télécharger et décompresser l'archive :
82 82
83.. code-block:: bash 83.. code-block:: bash
84 84
85 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package 85 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
86 86
87Vous trouverez `le hash md5 du dernier package sur notre site <https://www.wallabag.org/pages/download-wallabag.html>`_. 87Vous trouverez `le hash md5 du dernier package sur notre site <https://www.wallabag.org/pages/download-wallabag.html>`_.
88 88
diff --git a/docs/fr/user/parameters.rst b/docs/fr/user/parameters.rst
index d1c20ceb..b2e33524 100644
--- a/docs/fr/user/parameters.rst
+++ b/docs/fr/user/parameters.rst
@@ -39,6 +39,7 @@ Si vous ne savez pas quelle valeur vous devez mettre, laissez celle par défaut.
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-------------------------
@@ -91,3 +92,4 @@ Meaning of each parameter
91 "redis_host", "localhost", "IP ou hôte du serveur cible (ignoré pour un schéma unix)" 92 "redis_host", "localhost", "IP ou hôte du serveur cible (ignoré pour un schéma unix)"
92 "redis_port", "6379", "Port TCP/IP du serveur cible (ignoré pour un schéma unix)" 93 "redis_port", "6379", "Port TCP/IP du serveur cible (ignoré pour un schéma unix)"
93 "redis_path", "null", "Chemin du fichier de socket du domaine UNIX utilisé quand on se connecte à Redis en utilisant les sockets du domaine UNIX" 94 "redis_path", "null", "Chemin du fichier de socket du domaine UNIX utilisé quand on se connecte à Redis en utilisant les sockets du domaine UNIX"
95 "redis_password", "null", "Mot de passe défini dans la configuration serveur de Redis (paramètre `requirepass` dans `redis.conf`)"
diff --git a/docs/fr/user/query-upgrade-21-22.rst b/docs/fr/user/query-upgrade-21-22.rst
new file mode 100644
index 00000000..fa9835a8
--- /dev/null
+++ b/docs/fr/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/fr/user/upgrade.rst b/docs/fr/user/upgrade.rst
index c3d33904..4e77e9f1 100644
--- a/docs/fr/user/upgrade.rst
+++ b/docs/fr/user/upgrade.rst
@@ -3,41 +3,67 @@ Mettre à jour votre installation de wallabag
3 3
4Vous trouverez ici différentes manières de mettre à jour wallabag : 4Vous trouverez ici différentes manières de mettre à jour wallabag :
5 5
6- `de la 2.1.x à la 2.2.x <#mettre-a-jour-de-la-2-1-x-a-la-2-2-x>`_
6- `de la 2.0.x à la 2.1.1 <#mettre-a-jour-de-la-2-0-x-a-la-2-1-1>`_ 7- `de la 2.0.x à la 2.1.1 <#mettre-a-jour-de-la-2-0-x-a-la-2-1-1>`_
7- `de la 2.1.x à la 2.1.y <#mettre-a-jour-de-la-2-1-x-a-la-2-1-y>`_
8- `de la 1.x à la 2.x <#depuis-wallabag-1-x>`_ 8- `de la 1.x à la 2.x <#depuis-wallabag-1-x>`_
9 9
10Mettre à jour de la 2.0.x à la 2.1.1 10Mettre à jour de la 2.1.x à la 2.2.x
11------------------------------------ 11------------------------------------
12 12
13.. warning::
14Avant 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.
15
16Mise à jour sur un serveur dédié 13Mise à jour sur un serveur dédié
17^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 14^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
18 15
16**Depuis 2.1.x:**
17
19:: 18::
20 19
21 rm -rf var/cache/* 20 make update
22 git fetch origin 21 php bin/console doctrine:migrations:migrate --no-interaction -e=prod
23 git fetch --tags 22
24 git checkout 2.1.1 --force 23**Depuis 2.2.0:**
25 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist 24
26 php bin/console doctrine:migrations:migrate --env=prod 25::
27 php bin/console cache:clear --env=prod 26
27 make update
28
29Explications à propos des migrations de base de données
30"""""""""""""""""""""""""""""""""""""""""""""""""""""""
31
32Durant la mise à jour, nous exécutons des migrations de base de données.
33
34Toutes les migrations de base de données sont stockées dans le dossier ``app/DoctrineMigrations``. Vous pouvez exécuter chaque migration individuellement :
35``bin/console doctrine:migrations:execute 20161001072726 --env=prod``.
36
37Voici la liste des migrations de la 2.1.x à la 2.2.0 :
38
39* ``20161001072726``: ajout de clés étrangères pour la réinitialisation de compte
40* ``20161022134138``: conversion de la base de données à l'encodage ``utf8mb4`` (pour MySQL uniquement)
41* ``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
42* ``20161031132655``: ajout du paramètre interne pour activer/désactiver le téléchargement des images
43* ``20161104073720``: ajout de l'index ``created_at`` sur la table ``entry``
44* ``20161106113822``: ajout du champ ``action_mark_as_read`` sur la table ``config``
45* ``20161117071626``: ajout du paramètre interne pour partager ses articles vers unmark.it
46* ``20161118134328``: ajout du champ ``http_status`` sur la table ``entry``
47* ``20161122144743``: ajout du paramètre interne pour activer/désactiver la récupération d'articles derrière un paywall
48* ``20161122203647``: suppression des champs ``expired`` et ``credentials_expired`` sur la table ``user``
49* ``20161128084725``: ajout du champ ``list_mode`` sur la table ``config``
50* ``20161128131503``: suppression des champs ``locked``, ``credentials_expire_at`` et ``expires_at`` sur la table ``user``
51* ``20161214094402``: renommage du champ ``uuid`` en ``uid`` sur la table ``entry``
52* ``20161214094403``: ajout de l'index ``uid`` sur la table ``entry``
53* ``20170127093841``: ajout des index ``is_starred`` et ``is_archived`` sur la table ``entry``
28 54
29Mise à jour sur un hébergement mutualisé 55Mise à jour sur un hébergement mutualisé
30^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 56^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31 57
32Effectuez une sauvegarde du fichier ``app/config/parameters.yml``. 58Effectuez une sauvegarde du fichier ``app/config/parameters.yml``.
33 59
34Téléchargez la version 2.1.1 de wallabag : 60Téléchargez la dernière version de wallabag :
35 61
36.. code-block:: bash 62.. code-block:: bash
37 63
38 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz 64 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
39 65
40(hash md5 de l'archive 2.1.1 : ``9584a3b60a2b2a4de87f536548caac93``) 66Vous trouverez `le hash md5 du dernier package sur notre site <https://www.wallabag.org/pages/download-wallabag.html>`_.
41 67
42Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre. 68Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre.
43 69
@@ -47,42 +73,42 @@ Si vous utilisez SQLite, vous devez également conserver le contenu du répertoi
47 73
48Videz le répertoire ``var/cache``. 74Videz le répertoire ``var/cache``.
49 75
50Vous 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 : 76Vous 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_``.
51 77
52.. code-block:: sql 78`Vous trouverez toutes les requêtes à exécuter ici <http://doc.wallabag.org/fr/master/user/query-upgrade-21-22.html>`_.
53 79
54 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
55 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
56 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
57 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
58 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
59 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
60 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
61 80
62Mettre à jour de la 2.1.x à la 2.1.y 81Mettre à jour de la 2.0.x à la 2.1.1
63------------------------------------ 82------------------------------------
64 83
84.. warning::
85Avant 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.
86
65Mise à jour sur un serveur dédié 87Mise à jour sur un serveur dédié
66^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 88^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
67 89
68Pour mettre à jour votre installation de wallabag et récupérer la dernière version, exécutez la commande suivante dans votre répertoire d'installation :
69
70:: 90::
71 91
72 make update 92 rm -rf var/cache/*
93 git fetch origin
94 git fetch --tags
95 git checkout 2.1.1 --force
96 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
97 php bin/console doctrine:migrations:migrate --env=prod
98 php bin/console cache:clear --env=prod
73 99
74Mise à jour sur un hébergement mutualisé 100Mise à jour sur un hébergement mutualisé
75^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 101^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
76 102
77Effectuez une sauvegarde du fichier ``app/config/parameters.yml``. 103Effectuez une sauvegarde du fichier ``app/config/parameters.yml``.
78 104
79Téléchargez la dernière version de wallabag : 105Téléchargez la version 2.1.1 de wallabag :
80 106
81.. code-block:: bash 107.. code-block:: bash
82 108
83 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package 109 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
84 110
85Vous trouverez `le hash md5 du dernier package sur notre site <https://www.wallabag.org/pages/download-wallabag.html>`_. 111(hash md5 de l'archive 2.1.1 : ``9584a3b60a2b2a4de87f536548caac93``)
86 112
87Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre. 113Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre.
88 114
@@ -92,6 +118,18 @@ Si vous utilisez SQLite, vous devez également conserver le contenu du répertoi
92 118
93Videz le répertoire ``var/cache``. 119Videz le répertoire ``var/cache``.
94 120
121Vous 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 :
122
123.. code-block:: sql
124
125 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
126 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
127 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
128 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
129 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
130 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
131 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
132
95Depuis wallabag 1.x 133Depuis wallabag 1.x
96------------------- 134-------------------
97 135