summaryrefslogtreecommitdiff
path: root/app/SQL/install.sql.mysql.php
diff options
context:
space:
mode:
authorGravatar Federico Scodelaro <federicoscodelaro@gmail.com> 2025-10-10 19:43:38 -0300
committerGravatar GitHub <noreply@github.com> 2025-10-11 00:43:38 +0200
commit673067a52d44cbfc14327d226f4f1c4ce66f737a (patch)
tree649f9617a56593b2d95bd45498b1d69738fe4985 /app/SQL/install.sql.mysql.php
parentec1f5ee61bfeb9e8ed6a3c1e069b82d9f26f64e6 (diff)
Last user modified (#7886)
* feat: Add user modified functionality Closes https://github.com/FreshRSS/FreshRSS/issues/7862 Changes proposed in this pull request: This is an implementation of the proposed feature. It allows entries to have a new field that will be updated whenever an item is marked as read/unread or bookmark/removed from bookmarks. And a new sort criteria to sort by it. How to test the feature manually: 1. Mark items from a feed as read/unread 2. Mark items from a feed as bookmark / remove bookmark 3. Sort by the new criteria * feat: Add sort functionality * feat: Add sort nav button * fix: Use correct migrations * fix: Add internationalization * fix: Linter errors * chore: PR comments * Update app/i18n/fr/index.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/i18n/pl/index.php Co-authored-by: Inverle <inverle@proton.me> * Update app/i18n/nl/index.php Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * make fix-all * Fixes * More fixes sort * Fix wrong index * Fix unneeded column * Fix auto-create indexes * Some copilot suggestions * One more fix Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> Co-authored-by: Inverle <inverle@proton.me> Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Diffstat (limited to 'app/SQL/install.sql.mysql.php')
-rw-r--r--app/SQL/install.sql.mysql.php7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/SQL/install.sql.mysql.php b/app/SQL/install.sql.mysql.php
index 40553608a..5e8d092c5 100644
--- a/app/SQL/install.sql.mysql.php
+++ b/app/SQL/install.sql.mysql.php
@@ -49,6 +49,7 @@ CREATE TABLE IF NOT EXISTS `_entry` (
`link` VARCHAR(16383) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
`date` BIGINT,
`lastSeen` BIGINT DEFAULT 0,
+ `lastUserModified` BIGINT DEFAULT 0, -- v1.28.0
`hash` BINARY(16), -- v1.1.1
`is_read` BOOLEAN NOT NULL DEFAULT 0,
`is_favorite` BOOLEAN NOT NULL DEFAULT 0,
@@ -61,6 +62,7 @@ CREATE TABLE IF NOT EXISTS `_entry` (
INDEX (`is_favorite`), -- v0.7
INDEX (`is_read`), -- v0.7
INDEX `entry_lastSeen_index` (`lastSeen`), -- v1.1.1
+ INDEX `entry_last_user_modified_index` (`lastUserModified`), -- v1.28.0
INDEX `entry_feed_read_index` (`id_feed`,`is_read`) -- v1.7
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
ENGINE = INNODB;
@@ -109,6 +111,11 @@ CREATE TABLE IF NOT EXISTS `_entrytag` ( -- v1.12
ENGINE = INNODB;
SQL;
+$GLOBALS['ALTER_TABLE_ENTRY_LAST_USER_MODIFIED'] = <<<'SQL'
+ALTER TABLE `_entry` ADD `lastUserModified` BIGINT DEFAULT 0; -- 1.28.0
+CREATE INDEX IF NOT EXISTS `entry_last_user_modified_index` ON `_entry` (`lastUserModified`); -- //v1.28.0
+SQL;
+
$GLOBALS['SQL_DROP_TABLES'] = <<<'SQL'
DROP TABLE IF EXISTS `_entrytag`, `_tag`, `_entrytmp`, `_entry`, `_feed`, `_category`;
SQL;