Please check that your ``app/config/parameters.yml`` contains all the required parameters. You can find `here a documentation about parameters <http://doc.wallabag.org/en/master/user/parameters.html>`_.
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.
You may encounter issues with indexes names: if so, please change queries with the correct index name.
Migration 20161001072726
------------------------
MySQL
^^^^^
Migration up
""""""""""""
..code-block:: sql
ALTER TABLE wallabag_entry_tag DROP FOREIGN KEY FK_C9F0DD7CBA364942
ALTER TABLE wallabag_entry_tag DROP FOREIGN KEY FK_C9F0DD7CBAD26311
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES wallabag_tag (id) ON DELETE CASCADE
ALTER TABLE wallabag_annotation DROP FOREIGN KEY FK_A7AED006BA364942
ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
Migration down
""""""""""""""
We didn't write down migration for ``20161001072726``.
PostgreSQL
^^^^^^^^^^
Migration up
""""""""""""
..code-block:: sql
ALTER TABLE wallabag_entry_tag DROP CONSTRAINT fk_c9f0dd7cba364942
ALTER TABLE wallabag_entry_tag DROP CONSTRAINT fk_c9f0dd7cbad26311
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES wallabag_tag (id) ON DELETE CASCADE
ALTER TABLE wallabag_annotation DROP CONSTRAINT fk_a7aed006ba364942
ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
Migration down
""""""""""""""
We didn't write down migration for ``20161001072726``.
SQLite
^^^^^^
This migration can only be executed safely on MySQL or PostgreSQL.
Migration 20161022134138
------------------------
MySQL
^^^^^
Migration up
""""""""""""
..code-block:: sql
ALTER DATABASE wallabag CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE wallabag_user CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL;
ALTER TABLE wallabag_user CHANGE salt salt VARCHAR(180) NOT NULL;
ALTER TABLE wallabag_user CHANGE password password VARCHAR(180) NOT NULL;
ALTER TABLE wallabag_annotation CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wallabag_entry CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wallabag_tag CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wallabag_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wallabag_annotation CHANGE `text``text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wallabag_annotation CHANGE `quote``quote` VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wallabag_entry CHANGE `title``title` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wallabag_entry CHANGE `content``content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wallabag_tag CHANGE `label``label` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wallabag_user CHANGE `name``name` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Migration down
""""""""""""""
..code-block:: sql
ALTER DATABASE wallabag CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;
ALTER TABLE wallabag_annotation CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE wallabag_entry CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE wallabag_tag CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE wallabag_user CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE wallabag_annotation CHANGE `text``text` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE wallabag_annotation CHANGE `quote``quote` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE wallabag_entry CHANGE `title``title` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE wallabag_entry CHANGE `content``content` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE wallabag_tag CHANGE `label``label` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE wallabag_user CHANGE `name``name` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
PostgreSQL and SQLite
^^^^^^^^^^^^^^^^^^^^^
This migration only apply to MySQL.
Migration 20161024212538
------------------------
MySQL
^^^^^
Migration up
""""""""""""
..code-block:: sql
ALTER TABLE wallabag_oauth2_clients ADD user_id INT NOT NULL
ALTER TABLE wallabag_oauth2_clients ADD CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE
CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
Migration down
""""""""""""""
..code-block:: sql
ALTER TABLE wallabag_oauth2_clients DROP FOREIGN KEY IDX_user_oauth_client
ALTER TABLE wallabag_oauth2_clients DROP user_id
PostgreSQL
^^^^^^^^^^
Migration up
""""""""""""
..code-block:: sql
ALTER TABLE wallabag_oauth2_clients ADD user_id INT DEFAULT NULL
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
CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
Migration down
""""""""""""""
..code-block:: sql
ALTER TABLE wallabag_oauth2_clients DROP CONSTRAINT idx_user_oauth_client
ALTER TABLE wallabag_oauth2_clients DROP user_id
SQLite
^^^^^^
Migration up
""""""""""""
..code-block:: sql
CREATE TEMPORARY TABLE __temp__wallabag_oauth2_clients AS SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM wallabag_oauth2_clients
DROP TABLE wallabag_oauth2_clients
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)
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
DROP TABLE __temp__wallabag_oauth2_clients
CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
Migration down
""""""""""""""
..code-block:: sql
DROP INDEX IDX_635D765EA76ED395
CREATE TEMPORARY TABLE __temp__wallabag_oauth2_clients AS SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM wallabag_oauth2_clients
DROP TABLE wallabag_oauth2_clients
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))
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
DROP TABLE __temp__wallabag_oauth2_clients
Migration 20161031132655
------------------------
MySQL
^^^^^
Migration up
""""""""""""
..code-block:: sql
INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
Migration down
""""""""""""""
..code-block:: sql
DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
PostgreSQL
^^^^^^^^^^
Migration up
""""""""""""
..code-block:: sql
INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
Migration down
""""""""""""""
..code-block:: sql
DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
SQLite
^^^^^^
Migration up
""""""""""""
..code-block:: sql
INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
Migration down
""""""""""""""
..code-block:: sql
DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
Migration 20161104073720
------------------------
MySQL
^^^^^
Migration up
""""""""""""
..code-block:: sql
CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
Migration down
""""""""""""""
..code-block:: sql
DROP INDEX IDX_entry_created_at ON wallabag_entry
PostgreSQL
^^^^^^^^^^
Migration up
""""""""""""
..code-block:: sql
CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
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.
Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
Please check that your ``app/config/parameters.yml`` contains all the required parameters. You can find `here a documentation about parameters <http://doc.wallabag.org/en/master/user/parameters.html>`_.
If you use SQLite, you must also copy your ``data/`` folder inside the new installation.