mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-05-18 05:14:34 -04:00
SQL allow recreating existing user (#2555)
* SQL allow recreating existing user Taking advantage of https://github.com/FreshRSS/FreshRSS/pull/2554 In a case when FreshRSS data is lost, but database data still intact (in particular MySQL or PostgreSQL), this patch allows recreating previous users without error * Better error retrieval Especially when error occur during the prepare statement
This commit is contained in:
committed by
GitHub
parent
1b15e22897
commit
be4c942cb3
@@ -57,14 +57,18 @@ CREATE TABLE IF NOT EXISTS `_entry` (
|
||||
UNIQUE KEY (`id_feed`,`guid`), -- v0.7
|
||||
INDEX (`is_favorite`), -- v0.7
|
||||
INDEX (`is_read`), -- v0.7
|
||||
INDEX `entry_lastSeen_index` (`lastSeen`) -- v1.1.1
|
||||
-- INDEX `entry_feed_read_index` (`id_feed`,`is_read`) -- v1.7 Located futher down
|
||||
INDEX `entry_lastSeen_index` (`lastSeen`), -- v1.1.1
|
||||
INDEX `entry_feed_read_index` (`id_feed`,`is_read`) -- v1.7
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
|
||||
ENGINE = INNODB;
|
||||
|
||||
INSERT IGNORE INTO `_category` (id, name) VALUES(1, "Uncategorized");
|
||||
SQL;
|
||||
|
||||
const SQL_CREATE_INDEX_ENTRY_1 = <<<'SQL'
|
||||
CREATE INDEX `entry_feed_read_index` ON `_entry` (`id_feed`,`is_read`); -- v1.7
|
||||
SQL;
|
||||
|
||||
const SQL_CREATE_TABLE_ENTRYTMP = <<<'SQL'
|
||||
CREATE TABLE IF NOT EXISTS `_entrytmp` ( -- v1.7
|
||||
`id` BIGINT NOT NULL,
|
||||
@@ -86,9 +90,6 @@ CREATE TABLE IF NOT EXISTS `_entrytmp` ( -- v1.7
|
||||
INDEX (`date`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
|
||||
ENGINE = INNODB;
|
||||
|
||||
-- v1.7 Located here to be auto-added
|
||||
CREATE INDEX `entry_feed_read_index` ON `_entry`(`id_feed`,`is_read`);
|
||||
SQL;
|
||||
|
||||
const SQL_CREATE_TABLE_TAGS = <<<'SQL'
|
||||
|
||||
@@ -52,6 +52,7 @@ CREATE TABLE IF NOT EXISTS `_entry` (
|
||||
CREATE INDEX IF NOT EXISTS `_is_favorite_index` ON `_entry` ("is_favorite");
|
||||
CREATE INDEX IF NOT EXISTS `_is_read_index` ON `_entry` ("is_read");
|
||||
CREATE INDEX IF NOT EXISTS `_entry_lastSeen_index` ON `_entry` ("lastSeen");
|
||||
CREATE INDEX IF NOT EXISTS `_entry_feed_read_index` ON `_entry` ("id_feed","is_read"); -- v1.7
|
||||
|
||||
INSERT INTO `_category` (id, name)
|
||||
SELECT 1, 'Uncategorized'
|
||||
@@ -59,6 +60,10 @@ INSERT INTO `_category` (id, name)
|
||||
RETURNING nextval('`_category_id_seq`');
|
||||
SQL;
|
||||
|
||||
const SQL_CREATE_INDEX_ENTRY_1 = <<<'SQL'
|
||||
CREATE INDEX IF NOT EXISTS `_entry_feed_read_index` ON `_entry` ("id_feed","is_read"); -- v1.7
|
||||
SQL;
|
||||
|
||||
const SQL_CREATE_TABLE_ENTRYTMP = <<<'SQL'
|
||||
CREATE TABLE IF NOT EXISTS `_entrytmp` ( -- v1.7
|
||||
"id" BIGINT NOT NULL PRIMARY KEY,
|
||||
@@ -78,9 +83,6 @@ CREATE TABLE IF NOT EXISTS `_entrytmp` ( -- v1.7
|
||||
UNIQUE ("id_feed","guid")
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS `_entrytmp_date_index` ON `_entrytmp` ("date");
|
||||
|
||||
-- v1.7
|
||||
CREATE INDEX IF NOT EXISTS `_entry_feed_read_index` ON `_entry` ("id_feed","is_read");
|
||||
SQL;
|
||||
|
||||
const SQL_CREATE_TABLE_TAGS = <<<'SQL'
|
||||
|
||||
@@ -55,10 +55,15 @@ CREATE TABLE IF NOT EXISTS `entry` (
|
||||
CREATE INDEX IF NOT EXISTS entry_is_favorite_index ON `entry`(`is_favorite`);
|
||||
CREATE INDEX IF NOT EXISTS entry_is_read_index ON `entry`(`is_read`);
|
||||
CREATE INDEX IF NOT EXISTS entry_lastSeen_index ON `entry`(`lastSeen`); -- //v1.1.1
|
||||
CREATE INDEX IF NOT EXISTS entry_feed_read_index ON `entry`(`id_feed`,`is_read`); -- v1.7
|
||||
|
||||
INSERT OR IGNORE INTO `category` (id, name) VALUES(1, "Uncategorized");
|
||||
SQL;
|
||||
|
||||
const SQL_CREATE_INDEX_ENTRY_1 = <<<'SQL'
|
||||
CREATE INDEX IF NOT EXISTS entry_feed_read_index ON `entry`(`id_feed`,`is_read`); -- v1.7
|
||||
SQL;
|
||||
|
||||
const SQL_CREATE_TABLE_ENTRYTMP = <<<'SQL'
|
||||
CREATE TABLE IF NOT EXISTS `entrytmp` ( -- v1.7
|
||||
`id` BIGINT NOT NULL,
|
||||
@@ -79,9 +84,6 @@ CREATE TABLE IF NOT EXISTS `entrytmp` ( -- v1.7
|
||||
UNIQUE (`id_feed`,`guid`)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS entrytmp_date_index ON `entrytmp`(`date`);
|
||||
|
||||
-- v1.7
|
||||
CREATE INDEX IF NOT EXISTS `entry_feed_read_index` ON `entry`(`id_feed`,`is_read`);
|
||||
SQL;
|
||||
|
||||
const SQL_CREATE_TABLE_TAGS = <<<'SQL'
|
||||
@@ -98,7 +100,7 @@ CREATE TABLE IF NOT EXISTS `entrytag` (
|
||||
FOREIGN KEY (`id_tag`) REFERENCES `tag` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (`id_entry`) REFERENCES `entry` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE INDEX entrytag_id_entry_index ON `entrytag` (`id_entry`);
|
||||
CREATE INDEX IF NOT EXISTS entrytag_id_entry_index ON `entrytag` (`id_entry`);
|
||||
SQL;
|
||||
|
||||
const SQL_INSERT_FEED = <<<'SQL'
|
||||
|
||||
Reference in New Issue
Block a user