diff options
Diffstat (limited to 'docs/en')
-rw-r--r-- | docs/en/developer/asynchronous.rst | 3 | ||||
-rw-r--r-- | docs/en/developer/maintenance.rst | 32 | ||||
-rw-r--r-- | docs/en/developer/paywall.rst | 56 | ||||
-rw-r--r-- | docs/en/developer/translate.rst | 2 | ||||
-rw-r--r-- | docs/en/index.rst | 2 | ||||
-rw-r--r-- | docs/en/user/configuration.rst | 14 | ||||
-rw-r--r-- | docs/en/user/filters.rst | 5 | ||||
-rw-r--r-- | docs/en/user/import.rst | 32 | ||||
-rw-r--r-- | docs/en/user/installation.rst | 4 | ||||
-rw-r--r-- | docs/en/user/parameters.rst | 3 | ||||
-rw-r--r-- | docs/en/user/query-upgrade-21-22.rst | 984 | ||||
-rw-r--r-- | docs/en/user/upgrade.rst | 121 |
12 files changed, 1175 insertions, 83 deletions
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 | ||
52 | Enable RabbitMQ in wallabag | 53 | Enable 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 | ||
155 | If 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 | If 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 @@ | |||
1 | Maintenance mode | ||
2 | ================ | ||
3 | |||
4 | If you have some long tasks to do on your wallabag instance, you can enable a maintenance mode. | ||
5 | Nobody will have access to your instance. | ||
6 | |||
7 | Enable maintenance mode | ||
8 | ----------------------- | ||
9 | |||
10 | To enable maintenance mode, execute this command: | ||
11 | |||
12 | :: | ||
13 | |||
14 | bin/console lexik:maintenance:lock --no-interaction -e=prod | ||
15 | |||
16 | You 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 | |||
25 | Disable maintenance mode | ||
26 | ------------------------ | ||
27 | |||
28 | To 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 @@ | |||
1 | Articles behind a paywall | ||
2 | ========================= | ||
3 | |||
4 | wallabag can fetch articles from websites which use a paywall system. | ||
5 | |||
6 | Enable paywall authentication | ||
7 | ----------------------------- | ||
8 | |||
9 | In internal settings, in the **Article** section, enable authentication for websites with paywall (with the value 1). | ||
10 | |||
11 | Configure credentials in wallabag | ||
12 | --------------------------------- | ||
13 | |||
14 | Edit 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 | |||
26 | Parsing 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 | |||
33 | Each 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 | |||
36 | Be careful, the login form must be in the page content when wallabag loads it. It's impossible for wallabag to be authenticated | ||
37 | on 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 | |||
43 | For 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 | |||
20 | Other files to translate: | 20 | Other 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 | ||
25 | You have to create ``THE_TRANSLATION_FILE.CODE.yml`` files. | 25 | You 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 | |||
26 | wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are | 26 | wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are |
27 | a fast or a slow reader. wallabag will recalculate the reading time for each article. | 27 | a fast or a slow reader. wallabag will recalculate the reading time for each article. |
28 | 28 | ||
29 | Where do you want to be redirected after mark an article as read? | ||
30 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
31 | |||
32 | Each time you'll do some actions (after marking an article as read/favorite, | ||
33 | after 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 | |||
29 | Language | 38 | Language |
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 | ||
44 | You can also define how many articles you want in each RSS feed (default value: 50). | 53 | You can also define how many articles you want in each RSS feed (default value: 50). |
45 | 54 | ||
55 | There is also a pagination available for these feeds. You can add ``?page=2`` to jump to the second page. | ||
56 | The 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 | |||
46 | User information | 58 | User information |
47 | ---------------- | 59 | ---------------- |
48 | 60 | ||
49 | You can change your name, your email address and enable ``Two factor authentication``. | 61 | You can change your name, your email address and enable ``Two factor authentication``. |
50 | 62 | ||
63 | If the wallabag instance has more than one enabled user, you can delete your account here. **Take care, we delete all your data**. | ||
64 | |||
51 | Two factor authentication (2FA) | 65 | Two 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 | |||
30 | wallabag (via graby) can detect article language. It's easy to you to retrieve articles | 30 | wallabag (via graby) can detect article language. It's easy to you to retrieve articles |
31 | written in a specific language. | 31 | written in a specific language. |
32 | 32 | ||
33 | HTTP status | ||
34 | ----------- | ||
35 | |||
36 | You can retrieve the articles by filtering by their HTTP status code: 200, 404, 500, etc. | ||
37 | |||
33 | Reading time | 38 | Reading 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 @@ | |||
1 | Migrate from ... | 1 | Migrate from ... |
2 | ================ | 2 | ================ |
3 | 3 | ||
4 | In wallabag 2.x, you can import data from: | 4 | In 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 | ||
12 | We also developed `a script to execute migrations via command-line interface <#import-via-command-line-interface-cli>`_. | 12 | We 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 | ||
58 | Your data will be imported. Data import can be a demanding process for your server. | 58 | Your data will be imported. Data import can be a demanding process for your server. |
59 | 59 | ||
60 | Instapaper | 60 | From Pinboard |
61 | ---------- | 61 | ------------- |
62 | |||
63 | Export your Pinboard data | ||
64 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
65 | |||
66 | On 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 | |||
68 | Import your data into wallabag 2.x | ||
69 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
70 | |||
71 | Click on ``Import`` link in the menu, on ``Import contents`` in Pinboard section | ||
72 | and then select your json file and upload it. | ||
73 | |||
74 | Your data will be imported. Data import can be a demanding process for your server. | ||
75 | |||
76 | From Instapaper | ||
77 | --------------- | ||
62 | 78 | ||
63 | Export your Instapaper data | 79 | Export 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 | ||
21 | You can find specific instructions `here <https://getcomposer.org/doc/00-intro.md>`__. | 21 | You 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 | ||
90 | You will find the `md5 hash of the latest package on our website <https://www.wallabag.org/pages/download-wallabag.html>`_. | 90 | You 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 | ||
43 | Meaning of each parameter | 44 | Meaning 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 @@ | |||
1 | Migration 20161001072726 | ||
2 | ------------------------ | ||
3 | |||
4 | MySQL | ||
5 | ^^^^^ | ||
6 | |||
7 | Migration 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 | |||
19 | Migration down | ||
20 | """""""""""""" | ||
21 | |||
22 | We didn't write down migration for ``20161001072726``. | ||
23 | |||
24 | PostgreSQL | ||
25 | ^^^^^^^^^^ | ||
26 | |||
27 | Migration 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 | |||
39 | Migration down | ||
40 | """""""""""""" | ||
41 | |||
42 | We didn't write down migration for ``20161001072726``. | ||
43 | |||
44 | SQLite | ||
45 | ^^^^^^ | ||
46 | |||
47 | This migration can only be executed safely on MySQL or PostgreSQL. | ||
48 | |||
49 | Migration 20161022134138 | ||
50 | ------------------------ | ||
51 | |||
52 | MySQL | ||
53 | ^^^^^ | ||
54 | |||
55 | Migration 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 | |||
75 | Migration 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 | |||
92 | PostgreSQL and SQLite | ||
93 | ^^^^^^^^^^^^^^^^^^^^^ | ||
94 | |||
95 | This migration only apply to MySQL. | ||
96 | |||
97 | Migration 20161024212538 | ||
98 | ------------------------ | ||
99 | |||
100 | MySQL | ||
101 | ^^^^^ | ||
102 | |||
103 | Migration 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 | |||
112 | Migration 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 | |||
120 | PostgreSQL | ||
121 | ^^^^^^^^^^ | ||
122 | |||
123 | Migration 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 | |||
133 | Migration 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 | |||
141 | SQLite | ||
142 | ^^^^^^ | ||
143 | |||
144 | Migration 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 | |||
156 | Migration 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 | |||
168 | Migration 20161031132655 | ||
169 | ------------------------ | ||
170 | |||
171 | MySQL | ||
172 | ^^^^^ | ||
173 | |||
174 | Migration 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 | |||
181 | Migration down | ||
182 | """""""""""""" | ||
183 | |||
184 | .. code-block:: sql | ||
185 | |||
186 | DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled'; | ||
187 | |||
188 | PostgreSQL | ||
189 | ^^^^^^^^^^ | ||
190 | |||
191 | Migration 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 | |||
198 | Migration down | ||
199 | """""""""""""" | ||
200 | |||
201 | .. code-block:: sql | ||
202 | |||
203 | DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled'; | ||
204 | |||
205 | SQLite | ||
206 | ^^^^^^ | ||
207 | |||
208 | Migration 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 | |||
215 | Migration down | ||
216 | """""""""""""" | ||
217 | |||
218 | .. code-block:: sql | ||
219 | |||
220 | DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled'; | ||
221 | |||
222 | Migration 20161104073720 | ||
223 | ------------------------ | ||
224 | |||
225 | MySQL | ||
226 | ^^^^^ | ||
227 | |||
228 | Migration up | ||
229 | """""""""""" | ||
230 | |||
231 | .. code-block:: sql | ||
232 | |||
233 | CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at) | ||
234 | |||
235 | Migration down | ||
236 | """""""""""""" | ||
237 | |||
238 | .. code-block:: sql | ||
239 | |||
240 | DROP INDEX IDX_entry_created_at ON wallabag_entry | ||
241 | |||
242 | PostgreSQL | ||
243 | ^^^^^^^^^^ | ||
244 | |||
245 | Migration up | ||
246 | """""""""""" | ||
247 | |||
248 | .. code-block:: sql | ||
249 | |||
250 | CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at) | ||
251 | |||
252 | Migration down | ||
253 | """""""""""""" | ||
254 | |||
255 | .. code-block:: sql | ||
256 | |||
257 | DROP INDEX idx_entry_created_at | ||
258 | |||
259 | SQLite | ||
260 | ^^^^^^ | ||
261 | |||
262 | Migration 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 | |||
278 | Migration 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 | |||
294 | Migration 20161106113822 | ||
295 | ------------------------ | ||
296 | |||
297 | MySQL | ||
298 | ^^^^^ | ||
299 | |||
300 | Migration up | ||
301 | """""""""""" | ||
302 | |||
303 | .. code-block:: sql | ||
304 | |||
305 | ALTER TABLE wallabag_config ADD action_mark_as_read INT DEFAULT 0 | ||
306 | |||
307 | Migration down | ||
308 | """""""""""""" | ||
309 | |||
310 | .. code-block:: sql | ||
311 | |||
312 | ALTER TABLE wallabag_config DROP action_mark_as_read | ||
313 | |||
314 | PostgreSQL | ||
315 | ^^^^^^^^^^ | ||
316 | |||
317 | Migration up | ||
318 | """""""""""" | ||
319 | |||
320 | .. code-block:: sql | ||
321 | |||
322 | ALTER TABLE wallabag_config ADD action_mark_as_read INT DEFAULT 0 | ||
323 | |||
324 | Migration down | ||
325 | """""""""""""" | ||
326 | |||
327 | .. code-block:: sql | ||
328 | |||
329 | ALTER TABLE wallabag_config DROP action_mark_as_read | ||
330 | |||
331 | SQLite | ||
332 | ^^^^^^ | ||
333 | |||
334 | Migration up | ||
335 | """""""""""" | ||
336 | |||
337 | .. code-block:: sql | ||
338 | |||
339 | ALTER TABLE wallabag_config ADD COLUMN action_mark_as_read INTEGER DEFAULT 0 | ||
340 | |||
341 | Migration 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 | |||
354 | Migration 20161117071626 | ||
355 | ------------------------ | ||
356 | |||
357 | MySQL | ||
358 | ^^^^^ | ||
359 | |||
360 | Migration 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 | |||
368 | Migration 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 | |||
376 | PostgreSQL | ||
377 | ^^^^^^^^^^ | ||
378 | |||
379 | Migration 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 | |||
387 | Migration 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 | |||
395 | SQLite | ||
396 | ^^^^^^ | ||
397 | |||
398 | Migration 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 | |||
406 | Migration 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 | |||
414 | Migration 20161118134328 | ||
415 | ------------------------ | ||
416 | |||
417 | MySQL | ||
418 | ^^^^^ | ||
419 | |||
420 | Migration up | ||
421 | """""""""""" | ||
422 | |||
423 | .. code-block:: sql | ||
424 | |||
425 | ALTER TABLE wallabag_entry ADD http_status VARCHAR(3) DEFAULT NULL | ||
426 | |||
427 | Migration down | ||
428 | """""""""""""" | ||
429 | |||
430 | .. code-block:: sql | ||
431 | |||
432 | ALTER TABLE wallabag_entry DROP http_status | ||
433 | |||
434 | PostgreSQL | ||
435 | ^^^^^^^^^^ | ||
436 | |||
437 | Migration up | ||
438 | """""""""""" | ||
439 | |||
440 | .. code-block:: sql | ||
441 | |||
442 | ALTER TABLE wallabag_entry ADD http_status VARCHAR(3) DEFAULT NULL | ||
443 | |||
444 | Migration down | ||
445 | """""""""""""" | ||
446 | |||
447 | .. code-block:: sql | ||
448 | |||
449 | ALTER TABLE wallabag_entry DROP http_status | ||
450 | |||
451 | SQLite | ||
452 | ^^^^^^ | ||
453 | |||
454 | Migration up | ||
455 | """""""""""" | ||
456 | |||
457 | .. code-block:: sql | ||
458 | |||
459 | ALTER TABLE wallabag_entry ADD COLUMN http_status VARCHAR(3) DEFAULT NULL | ||
460 | |||
461 | Migration 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 | |||
476 | Migration 20161122144743 | ||
477 | ------------------------ | ||
478 | |||
479 | MySQL | ||
480 | ^^^^^ | ||
481 | |||
482 | Migration up | ||
483 | """""""""""" | ||
484 | |||
485 | .. code-block:: sql | ||
486 | |||
487 | INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry') | ||
488 | |||
489 | Migration down | ||
490 | """""""""""""" | ||
491 | |||
492 | .. code-block:: sql | ||
493 | |||
494 | DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access'; | ||
495 | |||
496 | PostgreSQL | ||
497 | ^^^^^^^^^^ | ||
498 | |||
499 | Migration up | ||
500 | """""""""""" | ||
501 | |||
502 | .. code-block:: sql | ||
503 | |||
504 | INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry') | ||
505 | |||
506 | Migration down | ||
507 | """""""""""""" | ||
508 | |||
509 | .. code-block:: sql | ||
510 | |||
511 | DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access'; | ||
512 | |||
513 | SQLite | ||
514 | ^^^^^^ | ||
515 | |||
516 | Migration up | ||
517 | """""""""""" | ||
518 | |||
519 | .. code-block:: sql | ||
520 | |||
521 | INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry') | ||
522 | |||
523 | Migration down | ||
524 | """""""""""""" | ||
525 | |||
526 | .. code-block:: sql | ||
527 | |||
528 | DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access'; | ||
529 | |||
530 | Migration 20161122203647 | ||
531 | ------------------------ | ||
532 | |||
533 | MySQL | ||
534 | ^^^^^ | ||
535 | |||
536 | Migration up | ||
537 | """""""""""" | ||
538 | |||
539 | .. code-block:: sql | ||
540 | |||
541 | ALTER TABLE wallabag_user DROP expired, DROP credentials_expired | ||
542 | |||
543 | Migration 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 | |||
550 | PostgreSQL | ||
551 | ^^^^^^^^^^ | ||
552 | |||
553 | Migration up | ||
554 | """""""""""" | ||
555 | |||
556 | .. code-block:: sql | ||
557 | |||
558 | ALTER TABLE wallabag_user DROP expired | ||
559 | ALTER TABLE wallabag_user DROP credentials_expired | ||
560 | |||
561 | Migration 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 | |||
569 | SQLite | ||
570 | ^^^^^^ | ||
571 | |||
572 | Migration 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 | |||
589 | Migration 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 | |||
597 | Migration 20161128084725 | ||
598 | ------------------------ | ||
599 | |||
600 | MySQL | ||
601 | ^^^^^ | ||
602 | |||
603 | Migration up | ||
604 | """""""""""" | ||
605 | |||
606 | .. code-block:: sql | ||
607 | |||
608 | ALTER TABLE wallabag_config ADD list_mode INT DEFAULT NULL | ||
609 | |||
610 | Migration down | ||
611 | """""""""""""" | ||
612 | |||
613 | .. code-block:: sql | ||
614 | |||
615 | ALTER TABLE wallabag_config DROP list_mode | ||
616 | |||
617 | PostgreSQL | ||
618 | ^^^^^^^^^^ | ||
619 | |||
620 | Migration up | ||
621 | """""""""""" | ||
622 | |||
623 | .. code-block:: sql | ||
624 | |||
625 | ALTER TABLE wallabag_config ADD list_mode INT DEFAULT NULL | ||
626 | |||
627 | Migration down | ||
628 | """""""""""""" | ||
629 | |||
630 | .. code-block:: sql | ||
631 | |||
632 | ALTER TABLE wallabag_config DROP list_mode | ||
633 | |||
634 | SQLite | ||
635 | ^^^^^^ | ||
636 | |||
637 | Migration up | ||
638 | """""""""""" | ||
639 | |||
640 | .. code-block:: sql | ||
641 | |||
642 | ALTER TABLE wallabag_config ADD COLUMN list_mode INTEGER DEFAULT NULL | ||
643 | |||
644 | Migration 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 | |||
657 | Migration 20161128131503 | ||
658 | ------------------------ | ||
659 | |||
660 | MySQL | ||
661 | ^^^^^ | ||
662 | |||
663 | Migration up | ||
664 | """""""""""" | ||
665 | |||
666 | .. code-block:: sql | ||
667 | |||
668 | ALTER TABLE wallabag_user DROP locked, DROP credentials_expire_at, DROP expires_at | ||
669 | |||
670 | Migration 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 | |||
677 | PostgreSQL | ||
678 | ^^^^^^^^^^ | ||
679 | |||
680 | Migration 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 | |||
689 | Migration 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 | |||
698 | SQLite | ||
699 | ^^^^^^ | ||
700 | |||
701 | Migration 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 | |||
710 | Migration 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 | |||
727 | Migration 20161214094402 | ||
728 | ------------------------ | ||
729 | |||
730 | MySQL | ||
731 | ^^^^^ | ||
732 | |||
733 | Migration up | ||
734 | """""""""""" | ||
735 | |||
736 | .. code-block:: sql | ||
737 | |||
738 | ALTER TABLE wallabag_entry CHANGE uuid uid VARCHAR(23) | ||
739 | |||
740 | Migration down | ||
741 | """""""""""""" | ||
742 | |||
743 | .. code-block:: sql | ||
744 | |||
745 | ALTER TABLE wallabag_entry CHANGE uid uuid VARCHAR(23) | ||
746 | |||
747 | PostgreSQL | ||
748 | ^^^^^^^^^^ | ||
749 | |||
750 | Migration up | ||
751 | """""""""""" | ||
752 | |||
753 | .. code-block:: sql | ||
754 | |||
755 | ALTER TABLE wallabag_entry RENAME uuid TO uid | ||
756 | |||
757 | Migration down | ||
758 | """""""""""""" | ||
759 | |||
760 | .. code-block:: sql | ||
761 | |||
762 | ALTER TABLE wallabag_entry RENAME uid TO uuid | ||
763 | |||
764 | SQLite | ||
765 | ^^^^^^ | ||
766 | |||
767 | Migration 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 | |||
800 | Migration 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 | |||
832 | Migration 20161214094403 | ||
833 | ------------------------ | ||
834 | |||
835 | MySQL | ||
836 | ^^^^^ | ||
837 | |||
838 | Migration up | ||
839 | """""""""""" | ||
840 | |||
841 | .. code-block:: sql | ||
842 | |||
843 | CREATE INDEX IDX_entry_uid ON wallabag_entry (uid) | ||
844 | |||
845 | Migration down | ||
846 | """""""""""""" | ||
847 | |||
848 | .. code-block:: sql | ||
849 | |||
850 | DROP INDEX IDX_entry_uid ON wallabag_entry | ||
851 | |||
852 | PostgreSQL | ||
853 | ^^^^^^^^^^ | ||
854 | |||
855 | Migration up | ||
856 | """""""""""" | ||
857 | |||
858 | .. code-block:: sql | ||
859 | |||
860 | CREATE INDEX IDX_entry_uid ON wallabag_entry (uid) | ||
861 | |||
862 | Migration down | ||
863 | """""""""""""" | ||
864 | |||
865 | .. code-block:: sql | ||
866 | |||
867 | DROP INDEX idx_entry_uid | ||
868 | |||
869 | SQLite | ||
870 | ^^^^^^ | ||
871 | |||
872 | Migration 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 | |||
888 | Migration 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 | |||
904 | Migration 20170127093841 | ||
905 | ------------------------ | ||
906 | |||
907 | MySQL | ||
908 | ^^^^^ | ||
909 | |||
910 | Migration 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 | |||
918 | Migration 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 | |||
926 | PostgreSQL | ||
927 | ^^^^^^^^^^ | ||
928 | |||
929 | Migration 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 | |||
937 | Migration down | ||
938 | """""""""""""" | ||
939 | |||
940 | .. code-block:: sql | ||
941 | |||
942 | DROP INDEX IDX_entry_starred | ||
943 | DROP INDEX IDX_entry_archived | ||
944 | |||
945 | SQLite | ||
946 | ^^^^^^ | ||
947 | |||
948 | Migration 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 | |||
967 | Migration 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 | ================================== | ||
1 | Upgrade your wallabag installation | 2 | Upgrade your wallabag installation |
2 | ================================== | 3 | ================================== |
3 | 4 | ||
4 | You will find here different ways to upgrade your wallabag: | 5 | You 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 | ||
10 | Upgrade from 2.0.x to 2.1.1 | 11 | ***************************** |
11 | --------------------------- | 12 | Upgrading from 2.1.x to 2.2.x |
13 | ***************************** | ||
12 | 14 | ||
13 | .. warning:: | 15 | Upgrade 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 | ||
17 | Upgrade 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 | 31 | Explanations 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 | 34 | During the update, we execute database migrations. |
28 | php bin/console cache:clear --env=prod | 35 | |
36 | All the database migrations are stored in ``app/DoctrineMigrations``. You can execute each migration individually: | ||
37 | ``bin/console doctrine:migrations:execute 20161001072726 --env=prod``. | ||
38 | |||
39 | You can also cancel each migration individually: ``bin/console doctrine:migrations:execute 20161001072726 --down --env=prod``. | ||
40 | |||
41 | Here 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 | ||
30 | Upgrade on a shared hosting | 59 | Upgrade on a shared hosting |
31 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 60 | =========================== |
32 | 61 | ||
33 | Backup your ``app/config/parameters.yml`` file. | 62 | Backup your ``app/config/parameters.yml`` file. |
34 | 63 | ||
35 | Download the 2.1.1 release of wallabag: | 64 | Download 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``) | 70 | You will find the `md5 hash of the latest package on our website <https://www.wallabag.org/pages/download-wallabag.html>`_. |
42 | 71 | ||
43 | Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours. | 72 | Extract 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 | ||
49 | Empty ``var/cache`` folder. | 78 | Empty ``var/cache`` folder. |
50 | 79 | ||
51 | You must run some SQL queries to upgrade your database. We assume that the table prefix is ``wallabag_`` and the database server is a MySQL one: | 80 | You must run some SQL queries to upgrade your database. We assume that the table prefix is ``wallabag_``. Don't forgete to backup your database before migrating. |
52 | 81 | ||
53 | .. code-block:: sql | 82 | You 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 | ||
63 | Upgrading from 2.1.x to 2.1.y | 86 | *************************** |
64 | ----------------------------- | 87 | Upgrade from 2.0.x to 2.1.1 |
88 | *************************** | ||
65 | 89 | ||
66 | Upgrade 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 | ||
69 | In order to upgrade your wallabag installation and get the last version, run the following command in you wallabag folder: | 94 | Upgrade 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 | ||
75 | Upgrade on a shared hosting | 107 | Upgrade on a shared hosting |
76 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 108 | =========================== |
77 | 109 | ||
78 | Backup your ``app/config/parameters.yml`` file. | 110 | Backup your ``app/config/parameters.yml`` file. |
79 | 111 | ||
80 | Download the last release of wallabag: | 112 | Download 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 | ||
86 | You 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 | ||
88 | Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours. | 120 | Extract 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 | ||
94 | Empty ``var/cache`` folder. | 126 | Empty ``var/cache`` folder. |
95 | 127 | ||
128 | You must run some SQL queries to upgrade your database. We assume that the table prefix is ``wallabag_`` and the database server is a MySQL one: | ||
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 | ***************** | ||
96 | From wallabag 1.x | 141 | From wallabag 1.x |
97 | ----------------- | 142 | ***************** |
98 | 143 | ||
99 | There is no automatic script to update from wallabag 1.x to wallabag 2.x. You need to: | 144 | There is no automatic script to update from wallabag 1.x to wallabag 2.x. You need to: |
100 | 145 | ||