From b154bc7a10e46dc9fa0406996507c4fd410366da Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 14 Apr 2025 12:59:00 +0300 Subject: [PATCH] initial attempt to remove mysql-related stuff from tt-rss --- .docker/app/Dockerfile | 1 - classes/Article.php | 43 ++-- classes/Config.php | 49 +--- classes/Db.php | 38 +--- classes/Db_Migrations.php | 7 +- classes/FeedItem_Common.php | 6 +- classes/Feeds.php | 124 +++------- classes/Pref_Feeds.php | 20 +- classes/Pref_Prefs.php | 4 - classes/RPC.php | 39 +--- classes/RSSUtils.php | 85 ++----- include/functions.php | 6 +- sql/mysql/migrations/10.sql | 12 - sql/mysql/migrations/100.sql | 7 - sql/mysql/migrations/101.sql | 12 - sql/mysql/migrations/102.sql | 7 - sql/mysql/migrations/103.sql | 7 - sql/mysql/migrations/104.sql | 7 - sql/mysql/migrations/105.sql | 11 - sql/mysql/migrations/106.sql | 12 - sql/mysql/migrations/107.sql | 15 -- sql/mysql/migrations/108.sql | 7 - sql/mysql/migrations/109.sql | 7 - sql/mysql/migrations/11.sql | 18 -- sql/mysql/migrations/110.sql | 7 - sql/mysql/migrations/111.sql | 7 - sql/mysql/migrations/112.sql | 15 -- sql/mysql/migrations/113.sql | 8 - sql/mysql/migrations/114.sql | 15 -- sql/mysql/migrations/115.sql | 9 - sql/mysql/migrations/116.sql | 7 - sql/mysql/migrations/117.sql | 8 - sql/mysql/migrations/118.sql | 16 -- sql/mysql/migrations/119.sql | 7 - sql/mysql/migrations/12.sql | 12 - sql/mysql/migrations/120.sql | 7 - sql/mysql/migrations/121.sql | 7 - sql/mysql/migrations/122.sql | 7 - sql/mysql/migrations/123.sql | 9 - sql/mysql/migrations/124.sql | 8 - sql/mysql/migrations/125.sql | 10 - sql/mysql/migrations/126.sql | 8 - sql/mysql/migrations/127.sql | 5 - sql/mysql/migrations/128.sql | 13 -- sql/mysql/migrations/129.sql | 8 - sql/mysql/migrations/13.sql | 6 - sql/mysql/migrations/130.sql | 7 - sql/mysql/migrations/131.sql | 7 - sql/mysql/migrations/132.sql | 10 - sql/mysql/migrations/133.sql | 7 - sql/mysql/migrations/134.sql | 7 - sql/mysql/migrations/135.sql | 8 - sql/mysql/migrations/136.sql | 9 - sql/mysql/migrations/137.sql | 7 - sql/mysql/migrations/138.sql | 7 - sql/mysql/migrations/139.sql | 13 -- sql/mysql/migrations/14.sql | 4 - sql/mysql/migrations/140.sql | 4 - sql/mysql/migrations/141.sql | 9 - sql/mysql/migrations/142.sql | 4 - sql/mysql/migrations/143.sql | 2 - sql/mysql/migrations/144.sql | 2 - sql/mysql/migrations/145.sql | 2 - sql/mysql/migrations/146.sql | 2 - sql/mysql/migrations/147.sql | 2 - sql/mysql/migrations/148.sql | 1 - sql/mysql/migrations/15.sql | 5 - sql/mysql/migrations/16.sql | 6 - sql/mysql/migrations/17.sql | 13 -- sql/mysql/migrations/18.sql | 3 - sql/mysql/migrations/19.sql | 11 - sql/mysql/migrations/20.sql | 3 - sql/mysql/migrations/21.sql | 3 - sql/mysql/migrations/22.sql | 8 - sql/mysql/migrations/23.sql | 3 - sql/mysql/migrations/24.sql | 3 - sql/mysql/migrations/25.sql | 3 - sql/mysql/migrations/26.sql | 15 -- sql/mysql/migrations/27.sql | 4 - sql/mysql/migrations/28.sql | 3 - sql/mysql/migrations/29.sql | 3 - sql/mysql/migrations/3.sql | 43 ---- sql/mysql/migrations/30.sql | 4 - sql/mysql/migrations/31.sql | 6 - sql/mysql/migrations/32.sql | 6 - sql/mysql/migrations/33.sql | 3 - sql/mysql/migrations/34.sql | 3 - sql/mysql/migrations/35.sql | 1 - sql/mysql/migrations/36.sql | 9 - sql/mysql/migrations/37.sql | 4 - sql/mysql/migrations/38.sql | 3 - sql/mysql/migrations/39.sql | 5 - sql/mysql/migrations/4.sql | 17 -- sql/mysql/migrations/40.sql | 3 - sql/mysql/migrations/41.sql | 6 - sql/mysql/migrations/42.sql | 3 - sql/mysql/migrations/43.sql | 3 - sql/mysql/migrations/44.sql | 9 - sql/mysql/migrations/45.sql | 3 - sql/mysql/migrations/46.sql | 4 - sql/mysql/migrations/47.sql | 9 - sql/mysql/migrations/48.sql | 6 - sql/mysql/migrations/49.sql | 5 - sql/mysql/migrations/5.sql | 12 - sql/mysql/migrations/50.sql | 19 -- sql/mysql/migrations/51.sql | 16 -- sql/mysql/migrations/52.sql | 5 - sql/mysql/migrations/53.sql | 11 - sql/mysql/migrations/54.sql | 7 - sql/mysql/migrations/55.sql | 7 - sql/mysql/migrations/56.sql | 16 -- sql/mysql/migrations/57.sql | 6 - sql/mysql/migrations/58.sql | 7 - sql/mysql/migrations/59.sql | 13 -- sql/mysql/migrations/6.sql | 20 -- sql/mysql/migrations/60.sql | 20 -- sql/mysql/migrations/61.sql | 9 - sql/mysql/migrations/62.sql | 13 -- sql/mysql/migrations/63.sql | 18 -- sql/mysql/migrations/64.sql | 7 - sql/mysql/migrations/65.sql | 7 - sql/mysql/migrations/66.sql | 7 - sql/mysql/migrations/67.sql | 5 - sql/mysql/migrations/68.sql | 7 - sql/mysql/migrations/69.sql | 12 - sql/mysql/migrations/7.sql | 19 -- sql/mysql/migrations/70.sql | 6 - sql/mysql/migrations/71.sql | 7 - sql/mysql/migrations/72.sql | 9 - sql/mysql/migrations/73.sql | 8 - sql/mysql/migrations/74.sql | 9 - sql/mysql/migrations/75.sql | 10 - sql/mysql/migrations/76.sql | 8 - sql/mysql/migrations/77.sql | 7 - sql/mysql/migrations/78.sql | 15 -- sql/mysql/migrations/79.sql | 7 - sql/mysql/migrations/8.sql | 14 -- sql/mysql/migrations/80.sql | 9 - sql/mysql/migrations/81.sql | 7 - sql/mysql/migrations/82.sql | 7 - sql/mysql/migrations/83.sql | 34 --- sql/mysql/migrations/84.sql | 23 -- sql/mysql/migrations/85.sql | 13 -- sql/mysql/migrations/86.sql | 9 - sql/mysql/migrations/87.sql | 14 -- sql/mysql/migrations/88.sql | 10 - sql/mysql/migrations/89.sql | 7 - sql/mysql/migrations/9.sql | 29 --- sql/mysql/migrations/90.sql | 7 - sql/mysql/migrations/91.sql | 7 - sql/mysql/migrations/92.sql | 8 - sql/mysql/migrations/93.sql | 10 - sql/mysql/migrations/94.sql | 7 - sql/mysql/migrations/95.sql | 39 ---- sql/mysql/migrations/96.sql | 38 ---- sql/mysql/migrations/97.sql | 10 - sql/mysql/migrations/98.sql | 7 - sql/mysql/migrations/99.sql | 12 - sql/mysql/schema.sql | 422 ----------------------------------- 159 files changed, 101 insertions(+), 2089 deletions(-) delete mode 100644 sql/mysql/migrations/10.sql delete mode 100644 sql/mysql/migrations/100.sql delete mode 100644 sql/mysql/migrations/101.sql delete mode 100644 sql/mysql/migrations/102.sql delete mode 100644 sql/mysql/migrations/103.sql delete mode 100644 sql/mysql/migrations/104.sql delete mode 100644 sql/mysql/migrations/105.sql delete mode 100644 sql/mysql/migrations/106.sql delete mode 100644 sql/mysql/migrations/107.sql delete mode 100644 sql/mysql/migrations/108.sql delete mode 100644 sql/mysql/migrations/109.sql delete mode 100644 sql/mysql/migrations/11.sql delete mode 100644 sql/mysql/migrations/110.sql delete mode 100644 sql/mysql/migrations/111.sql delete mode 100644 sql/mysql/migrations/112.sql delete mode 100644 sql/mysql/migrations/113.sql delete mode 100644 sql/mysql/migrations/114.sql delete mode 100644 sql/mysql/migrations/115.sql delete mode 100644 sql/mysql/migrations/116.sql delete mode 100644 sql/mysql/migrations/117.sql delete mode 100644 sql/mysql/migrations/118.sql delete mode 100644 sql/mysql/migrations/119.sql delete mode 100644 sql/mysql/migrations/12.sql delete mode 100644 sql/mysql/migrations/120.sql delete mode 100644 sql/mysql/migrations/121.sql delete mode 100644 sql/mysql/migrations/122.sql delete mode 100644 sql/mysql/migrations/123.sql delete mode 100644 sql/mysql/migrations/124.sql delete mode 100644 sql/mysql/migrations/125.sql delete mode 100644 sql/mysql/migrations/126.sql delete mode 100644 sql/mysql/migrations/127.sql delete mode 100644 sql/mysql/migrations/128.sql delete mode 100644 sql/mysql/migrations/129.sql delete mode 100644 sql/mysql/migrations/13.sql delete mode 100644 sql/mysql/migrations/130.sql delete mode 100644 sql/mysql/migrations/131.sql delete mode 100644 sql/mysql/migrations/132.sql delete mode 100644 sql/mysql/migrations/133.sql delete mode 100644 sql/mysql/migrations/134.sql delete mode 100644 sql/mysql/migrations/135.sql delete mode 100644 sql/mysql/migrations/136.sql delete mode 100644 sql/mysql/migrations/137.sql delete mode 100644 sql/mysql/migrations/138.sql delete mode 100644 sql/mysql/migrations/139.sql delete mode 100644 sql/mysql/migrations/14.sql delete mode 100644 sql/mysql/migrations/140.sql delete mode 100644 sql/mysql/migrations/141.sql delete mode 100644 sql/mysql/migrations/142.sql delete mode 100644 sql/mysql/migrations/143.sql delete mode 100644 sql/mysql/migrations/144.sql delete mode 100644 sql/mysql/migrations/145.sql delete mode 100644 sql/mysql/migrations/146.sql delete mode 100644 sql/mysql/migrations/147.sql delete mode 100644 sql/mysql/migrations/148.sql delete mode 100644 sql/mysql/migrations/15.sql delete mode 100644 sql/mysql/migrations/16.sql delete mode 100644 sql/mysql/migrations/17.sql delete mode 100644 sql/mysql/migrations/18.sql delete mode 100644 sql/mysql/migrations/19.sql delete mode 100644 sql/mysql/migrations/20.sql delete mode 100644 sql/mysql/migrations/21.sql delete mode 100644 sql/mysql/migrations/22.sql delete mode 100644 sql/mysql/migrations/23.sql delete mode 100644 sql/mysql/migrations/24.sql delete mode 100644 sql/mysql/migrations/25.sql delete mode 100644 sql/mysql/migrations/26.sql delete mode 100644 sql/mysql/migrations/27.sql delete mode 100644 sql/mysql/migrations/28.sql delete mode 100644 sql/mysql/migrations/29.sql delete mode 100644 sql/mysql/migrations/3.sql delete mode 100644 sql/mysql/migrations/30.sql delete mode 100644 sql/mysql/migrations/31.sql delete mode 100644 sql/mysql/migrations/32.sql delete mode 100644 sql/mysql/migrations/33.sql delete mode 100644 sql/mysql/migrations/34.sql delete mode 100644 sql/mysql/migrations/35.sql delete mode 100644 sql/mysql/migrations/36.sql delete mode 100644 sql/mysql/migrations/37.sql delete mode 100644 sql/mysql/migrations/38.sql delete mode 100644 sql/mysql/migrations/39.sql delete mode 100644 sql/mysql/migrations/4.sql delete mode 100644 sql/mysql/migrations/40.sql delete mode 100644 sql/mysql/migrations/41.sql delete mode 100644 sql/mysql/migrations/42.sql delete mode 100644 sql/mysql/migrations/43.sql delete mode 100644 sql/mysql/migrations/44.sql delete mode 100644 sql/mysql/migrations/45.sql delete mode 100644 sql/mysql/migrations/46.sql delete mode 100644 sql/mysql/migrations/47.sql delete mode 100644 sql/mysql/migrations/48.sql delete mode 100644 sql/mysql/migrations/49.sql delete mode 100644 sql/mysql/migrations/5.sql delete mode 100644 sql/mysql/migrations/50.sql delete mode 100644 sql/mysql/migrations/51.sql delete mode 100644 sql/mysql/migrations/52.sql delete mode 100644 sql/mysql/migrations/53.sql delete mode 100644 sql/mysql/migrations/54.sql delete mode 100644 sql/mysql/migrations/55.sql delete mode 100644 sql/mysql/migrations/56.sql delete mode 100644 sql/mysql/migrations/57.sql delete mode 100644 sql/mysql/migrations/58.sql delete mode 100644 sql/mysql/migrations/59.sql delete mode 100644 sql/mysql/migrations/6.sql delete mode 100644 sql/mysql/migrations/60.sql delete mode 100644 sql/mysql/migrations/61.sql delete mode 100644 sql/mysql/migrations/62.sql delete mode 100644 sql/mysql/migrations/63.sql delete mode 100644 sql/mysql/migrations/64.sql delete mode 100644 sql/mysql/migrations/65.sql delete mode 100644 sql/mysql/migrations/66.sql delete mode 100644 sql/mysql/migrations/67.sql delete mode 100644 sql/mysql/migrations/68.sql delete mode 100644 sql/mysql/migrations/69.sql delete mode 100644 sql/mysql/migrations/7.sql delete mode 100644 sql/mysql/migrations/70.sql delete mode 100644 sql/mysql/migrations/71.sql delete mode 100644 sql/mysql/migrations/72.sql delete mode 100644 sql/mysql/migrations/73.sql delete mode 100644 sql/mysql/migrations/74.sql delete mode 100644 sql/mysql/migrations/75.sql delete mode 100644 sql/mysql/migrations/76.sql delete mode 100644 sql/mysql/migrations/77.sql delete mode 100644 sql/mysql/migrations/78.sql delete mode 100644 sql/mysql/migrations/79.sql delete mode 100644 sql/mysql/migrations/8.sql delete mode 100644 sql/mysql/migrations/80.sql delete mode 100644 sql/mysql/migrations/81.sql delete mode 100644 sql/mysql/migrations/82.sql delete mode 100644 sql/mysql/migrations/83.sql delete mode 100644 sql/mysql/migrations/84.sql delete mode 100644 sql/mysql/migrations/85.sql delete mode 100644 sql/mysql/migrations/86.sql delete mode 100644 sql/mysql/migrations/87.sql delete mode 100644 sql/mysql/migrations/88.sql delete mode 100644 sql/mysql/migrations/89.sql delete mode 100644 sql/mysql/migrations/9.sql delete mode 100644 sql/mysql/migrations/90.sql delete mode 100644 sql/mysql/migrations/91.sql delete mode 100644 sql/mysql/migrations/92.sql delete mode 100644 sql/mysql/migrations/93.sql delete mode 100644 sql/mysql/migrations/94.sql delete mode 100644 sql/mysql/migrations/95.sql delete mode 100644 sql/mysql/migrations/96.sql delete mode 100644 sql/mysql/migrations/97.sql delete mode 100644 sql/mysql/migrations/98.sql delete mode 100644 sql/mysql/migrations/99.sql delete mode 100644 sql/mysql/schema.sql diff --git a/.docker/app/Dockerfile b/.docker/app/Dockerfile index 7a87f7ea3..9ca767608 100644 --- a/.docker/app/Dockerfile +++ b/.docker/app/Dockerfile @@ -95,7 +95,6 @@ ENV TTRSS_DB_TYPE="pgsql" ENV TTRSS_DB_HOST="db" ENV TTRSS_DB_PORT="5432" -ENV TTRSS_MYSQL_CHARSET="UTF8" ENV TTRSS_PHP_EXECUTABLE="/usr/bin/php${PHP_SUFFIX}" ENV TTRSS_PLUGINS="auth_internal, note, nginx_xaccel" diff --git a/classes/Article.php b/classes/Article.php index efb5e4e89..bfff11e6b 100644 --- a/classes/Article.php +++ b/classes/Article.php @@ -85,15 +85,13 @@ class Article extends Handler_Protected { content = ?, content_hash = ? WHERE id = ?"); $sth->execute([$content, $content_hash, $ref_id]); - if (Config::get(Config::DB_TYPE) == "pgsql") { - $sth = $pdo->prepare("UPDATE ttrss_entries - SET tsvector_combined = to_tsvector( :ts_content) - WHERE id = :id"); - $params = [ - ":ts_content" => mb_substr(\Soundasleep\Html2Text::convert($content), 0, 900000), - ":id" => $ref_id]; - $sth->execute($params); - } + $sth = $pdo->prepare("UPDATE ttrss_entries + SET tsvector_combined = to_tsvector( :ts_content) + WHERE id = :id"); + $params = [ + ":ts_content" => mb_substr(\Soundasleep\Html2Text::convert($content), 0, 900000), + ":id" => $ref_id]; + $sth->execute($params); $sth = $pdo->prepare("UPDATE ttrss_user_entries SET published = true, last_published = NOW() WHERE @@ -130,15 +128,15 @@ class Article extends Handler_Protected { if ($row = $sth->fetch()) { $ref_id = $row["id"]; - if (Config::get(Config::DB_TYPE) == "pgsql"){ - $sth = $pdo->prepare("UPDATE ttrss_entries - SET tsvector_combined = to_tsvector( :ts_content) - WHERE id = :id"); - $params = [ - ":ts_content" => mb_substr(\Soundasleep\Html2Text::convert($content), 0, 900000), - ":id" => $ref_id]; - $sth->execute($params); - } + + $sth = $pdo->prepare("UPDATE ttrss_entries + SET tsvector_combined = to_tsvector( :ts_content) + WHERE id = :id"); + $params = [ + ":ts_content" => mb_substr(\Soundasleep\Html2Text::convert($content), 0, 900000), + ":id" => $ref_id]; + $sth->execute($params); + $sth = $pdo->prepare("INSERT INTO ttrss_user_entries (ref_id, uuid, feed_id, orig_feed_id, owner_uid, published, tag_cache, label_cache, last_read, note, unread, last_published) @@ -465,16 +463,9 @@ class Article extends Handler_Protected { static function _purge_orphans(): void { - // purge orphaned posts in main content table - - if (Config::get(Config::DB_TYPE) == "mysql") - $limit_qpart = "LIMIT 5000"; - else - $limit_qpart = ""; - $pdo = Db::pdo(); $res = $pdo->query("DELETE FROM ttrss_entries WHERE - NOT EXISTS (SELECT ref_id FROM ttrss_user_entries WHERE ref_id = id) $limit_qpart"); + NOT EXISTS (SELECT ref_id FROM ttrss_user_entries WHERE ref_id = id)"); if (Debug::enabled()) { $rows = $res->rowCount(); diff --git a/classes/Config.php b/classes/Config.php index 5098bfe68..f8f9aaa18 100644 --- a/classes/Config.php +++ b/classes/Config.php @@ -24,7 +24,7 @@ class Config { * */ - /** database type: pgsql or mysql */ + /** database type: pgsql */ const DB_TYPE = "DB_TYPE"; /** database server hostname */ @@ -42,10 +42,6 @@ class Config { /** database server port */ const DB_PORT = "DB_PORT"; - /** connection charset for MySQL. if you have a legacy database and/or experience - * garbage unicode characters with this option, try setting it to a blank string. */ - const MYSQL_CHARSET = "MYSQL_CHARSET"; - /** this is a fallback falue for the CLI SAPI, it should be set to a fully-qualified tt-rss URL */ const SELF_URL_PATH = "SELF_URL_PATH"; @@ -204,7 +200,6 @@ class Config { Config::DB_NAME => [ "", Config::T_STRING ], Config::DB_PASS => [ "", Config::T_STRING ], Config::DB_PORT => [ "5432", Config::T_STRING ], - Config::MYSQL_CHARSET => [ "UTF8", Config::T_STRING ], Config::SELF_URL_PATH => [ "https://example.com/tt-rss", Config::T_STRING ], Config::SINGLE_USER_MODE => [ "", Config::T_BOOL ], Config::SIMPLE_UPDATE_MODE => [ "", Config::T_BOOL ], @@ -481,25 +476,6 @@ class Config { } /* sanity check stuff */ - /** checks for mysql tables not using InnoDB (tt-rss is incompatible with MyISAM) - * @return array> A list of entries identifying tt-rss tables with bad config - */ - private static function check_mysql_tables() { - $pdo = Db::pdo(); - - $sth = $pdo->prepare("SELECT engine, table_name FROM information_schema.tables WHERE - table_schema = ? AND table_name LIKE 'ttrss_%' AND engine != 'InnoDB'"); - $sth->execute([self::get(Config::DB_NAME)]); - - $bad_tables = []; - - while ($line = $sth->fetch()) { - array_push($bad_tables, $line); - } - - return $bad_tables; - } - static function sanity_check(): void { /* @@ -604,29 +580,6 @@ class Config { } } - if (self::get(Config::DB_TYPE) == "mysql") { - $bad_tables = self::check_mysql_tables(); - - if (count($bad_tables) > 0) { - $bad_tables_fmt = []; - - foreach ($bad_tables as $bt) { - array_push($bad_tables_fmt, sprintf("%s (%s)", $bt['table_name'], $bt['engine'])); - } - - $msg = "

The following tables use an unsupported MySQL engine: " . - implode(", ", $bad_tables_fmt) . ".

"; - - $msg .= "

The only supported engine on MySQL is InnoDB. MyISAM lacks functionality to run - tt-rss. - Please backup your data (via OPML) and re-import the schema before continuing.

-

WARNING: importing the schema would mean LOSS OF ALL YOUR DATA.

"; - - - array_push($errors, $msg); - } - } - if (count($errors) > 0 && php_sapi_name() != "cli") { http_response_code(503); ?> diff --git a/classes/Db.php b/classes/Db.php index 8e0e7047b..92bbec8b4 100644 --- a/classes/Db.php +++ b/classes/Db.php @@ -9,9 +9,6 @@ class Db { ORM::configure('username', Config::get(Config::DB_USER)); ORM::configure('password', Config::get(Config::DB_PASS)); ORM::configure('return_result_sets', true); - if (Config::get(Config::DB_TYPE) == "mysql" && Config::get(Config::MYSQL_CHARSET)) { - ORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . Config::get(Config::MYSQL_CHARSET))); - } } /** @@ -29,13 +26,8 @@ class Db { public static function get_dsn(): string { $db_port = Config::get(Config::DB_PORT) ? ';port=' . Config::get(Config::DB_PORT) : ''; $db_host = Config::get(Config::DB_HOST) ? ';host=' . Config::get(Config::DB_HOST) : ''; - if (Config::get(Config::DB_TYPE) == "mysql" && Config::get(Config::MYSQL_CHARSET)) { - $db_charset = ';charset=' . Config::get(Config::MYSQL_CHARSET); - } else { - $db_charset = ''; - } - return Config::get(Config::DB_TYPE) . ':dbname=' . Config::get(Config::DB_NAME) . $db_host . $db_port . $db_charset; + return Config::get(Config::DB_TYPE) . ':dbname=' . Config::get(Config::DB_NAME) . $db_host . $db_port; } // this really shouldn't be used unless a separate PDO connection is needed @@ -53,20 +45,10 @@ class Db { $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - if (Config::get(Config::DB_TYPE) == "pgsql") { - - $pdo->query("set client_encoding = 'UTF-8'"); - $pdo->query("set datestyle = 'ISO, european'"); - $pdo->query("set TIME ZONE 0"); - $pdo->query("set cpu_tuple_cost = 0.5"); - - } else if (Config::get(Config::DB_TYPE) == "mysql") { - $pdo->query("SET time_zone = '+0:0'"); - - if (Config::get(Config::MYSQL_CHARSET)) { - $pdo->query("SET NAMES " . Config::get(Config::MYSQL_CHARSET)); - } - } + $pdo->query("set client_encoding = 'UTF-8'"); + $pdo->query("set datestyle = 'ISO, european'"); + $pdo->query("set TIME ZONE 0"); + $pdo->query("set cpu_tuple_cost = 0.5"); return $pdo; } @@ -90,15 +72,12 @@ class Db { } public static function sql_random_function(): string { - if (Config::get(Config::DB_TYPE) == "mysql") { - return "RAND()"; - } return "RANDOM()"; } /** * Helper to build a query part comparing a field against a past datetime (determined by "$now - $some_interval") - * + * * The example below could be read as "last_digest_sent is older than 1 day ago". * ```php * Db::past_comparison_qpart('last_digest_sent', '<', 1, 'day'); @@ -106,7 +85,6 @@ class Db { * * @todo validate value of $unit and fail if invalid (or massage if practical)? * @link https://www.postgresql.org/docs/current/datatype-datetime.html#DATATYPE-INTERVAL-INPUT - * @link https://dev.mysql.com/doc/refman/9.2/en/expressions.html#temporal-intervals * @param string $field the table field being checked * @param '<'|'>'|'<='|'>='|'=' $operator the comparison operator * @param positive-int $quantity the amount of $unit @@ -114,8 +92,6 @@ class Db { * @return string the query part string */ static function past_comparison_qpart(string $field, string $operator, int $quantity, string $unit): string { - if (Config::get(Config::DB_TYPE) == 'pgsql') - return "$field $operator NOW() - INTERVAL '$quantity $unit' "; - return "$field $operator DATE_SUB(NOW(), INTERVAL $quantity $unit) "; + return "$field $operator NOW() - INTERVAL '$quantity $unit' "; } } diff --git a/classes/Db_Migrations.php b/classes/Db_Migrations.php index 7dcfc24b1..62619b377 100644 --- a/classes/Db_Migrations.php +++ b/classes/Db_Migrations.php @@ -88,9 +88,7 @@ class Db_Migrations { $lines = $this->get_lines($version); if (count($lines) > 0) { - // mysql doesn't support transactions for DDL statements - if (Config::get(Config::DB_TYPE) != "mysql") - $this->pdo->beginTransaction(); + $this->pdo->beginTransaction(); foreach ($lines as $line) { Debug::log($line, Debug::LOG_EXTENDED); @@ -107,8 +105,7 @@ class Db_Migrations { else $this->set_version($version); - if (Config::get(Config::DB_TYPE) != "mysql") - $this->pdo->commit(); + $this->pdo->commit(); Debug::log("Migration finished, current version: " . $this->get_version(), Debug::LOG_VERBOSE); diff --git a/classes/FeedItem_Common.php b/classes/FeedItem_Common.php index 5ec958699..241640cc4 100644 --- a/classes/FeedItem_Common.php +++ b/classes/FeedItem_Common.php @@ -91,6 +91,7 @@ abstract class FeedItem_Common extends FeedItem { $enclosures = $this->xpath->query("media:content", $this->elem); + /** @var DOMElement $enclosure */ foreach ($enclosures as $enclosure) { $enc = new FeedEnclosure(); $enc->type = clean($enclosure->getAttribute('type')); @@ -143,6 +144,7 @@ abstract class FeedItem_Common extends FeedItem { $enclosures = $this->xpath->query("media:thumbnail", $this->elem); + /** @var DOMElement $enclosure */ foreach ($enclosures as $enclosure) { $enc = new FeedEnclosure(); $enc->type = 'image/generic'; @@ -193,10 +195,6 @@ abstract class FeedItem_Common extends FeedItem { $cat = preg_replace('/[,\'\"]/', "", $cat); - if (Config::get(Config::DB_TYPE) == "mysql") { - $cat = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $cat); - } - if (mb_strlen($cat) > 250) $cat = mb_substr($cat, 0, 250); diff --git a/classes/Feeds.php b/classes/Feeds.php index 7d818598d..bea3bb0f4 100644 --- a/classes/Feeds.php +++ b/classes/Feeds.php @@ -217,17 +217,6 @@ class Feeds extends Handler_Protected { $id = $line["id"]; - // frontend doesn't expect pdo returning booleans as strings on mysql - if (Config::get(Config::DB_TYPE) == "mysql") { - foreach (["unread", "marked", "published"] as $k) { - if (is_integer($line[$k])) { - $line[$k] = $line[$k] === 1; - } else { - $line[$k] = $line[$k] === "1"; - } - } - } - // normalize archived feed if ($line['feed_id'] === null) { $line['feed_id'] = Feeds::FEED_ARCHIVED; @@ -582,7 +571,7 @@ class Feeds extends Handler_Protected { function search(): void { print json_encode([ - "show_language" => Config::get(Config::DB_TYPE) == "pgsql", + "show_language" => true, "show_syntax_help" => count(PluginHost::getInstance()->get_hooks(PluginHost::HOOK_SEARCH)) == 0, "all_languages" => Pref_Feeds::get_ts_languages(), "default_language" => Prefs::get(Prefs::DEFAULT_SEARCH_LANGUAGE, $_SESSION['uid'], $_SESSION['profile'] ?? null) @@ -1407,18 +1396,16 @@ class Feeds extends Handler_Protected { list($search_query_part, $search_words) = self::_search_to_sql($search, $search_language, $owner_uid, $profile); } - if (Config::get(Config::DB_TYPE) == "pgsql") { - $test_sth = $pdo->prepare("select $search_query_part - FROM ttrss_entries, ttrss_user_entries WHERE id = ref_id limit 1"); + $test_sth = $pdo->prepare("select $search_query_part + FROM ttrss_entries, ttrss_user_entries WHERE id = ref_id limit 1"); - try { - $test_sth->execute(); - } catch (PDOException $e) { - // looks like tsquery syntax is invalid - $search_query_part = "false"; + try { + $test_sth->execute(); + } catch (PDOException $e) { + // looks like tsquery syntax is invalid + $search_query_part = "false"; - $query_error_override = T_sprintf("Incorrect search syntax: %s.", implode(" ", $search_words)); - } + $query_error_override = T_sprintf("Incorrect search syntax: %s.", implode(" ", $search_words)); } $search_query_part .= " AND "; @@ -1635,11 +1622,7 @@ class Feeds extends Handler_Protected { $first_id = 0; - if (Config::get(Config::DB_TYPE) == "pgsql") { - $yyiw_qpart = "to_char(date_entered, 'IYYY-IW') AS yyiw"; - } else { - $yyiw_qpart = "date_format(date_entered, '%Y-%u') AS yyiw"; - } + $yyiw_qpart = "to_char(date_entered, 'IYYY-IW') AS yyiw"; if (is_numeric($feed)) { // proper override_order applied above @@ -1679,12 +1662,8 @@ class Feeds extends Handler_Protected { $sanity_interval_qpart = Db::past_comparison_qpart('date_entered', '>=', 1, 'hour') . ' AND '; - if (Config::get(Config::DB_TYPE) == "pgsql") { - $distinct_columns = str_replace("desc", "", strtolower($order_by)); - $distinct_qpart = "DISTINCT ON (id, $distinct_columns)"; - } else { - $distinct_qpart = "DISTINCT"; //fallback - } + $distinct_columns = str_replace("desc", "", strtolower($order_by)); + $distinct_qpart = "DISTINCT ON (id, $distinct_columns)"; // except for Labels category if (Prefs::get(Prefs::HEADLINES_NO_DISTINCT, $owner_uid, $profile) @@ -1785,12 +1764,8 @@ class Feeds extends Handler_Protected { if (Prefs::get(Prefs::HEADLINES_NO_DISTINCT, $owner_uid, $profile)) { $distinct_qpart = ""; } else { - if (Config::get(Config::DB_TYPE) == "pgsql") { - $distinct_columns = str_replace("desc", "", strtolower($order_by)); - $distinct_qpart = "DISTINCT ON (id, $distinct_columns)"; - } else { - $distinct_qpart = "DISTINCT"; //fallback - } + $distinct_columns = str_replace("desc", "", strtolower($order_by)); + $distinct_qpart = "DISTINCT ON (id, $distinct_columns)"; } $query = "SELECT $distinct_qpart @@ -2099,27 +2074,14 @@ class Feeds extends Handler_Protected { else $query_limit = ""; - if (Config::get(Config::DB_TYPE) == "pgsql") { - $sth = $pdo->prepare("DELETE FROM ttrss_user_entries - USING ttrss_entries - WHERE ttrss_entries.id = ref_id AND - marked = false AND - feed_id = ? AND - $query_limit - ttrss_entries.date_updated < NOW() - INTERVAL '$purge_interval days'"); - $sth->execute([$feed_id]); - - } else { - $sth = $pdo->prepare("DELETE FROM ttrss_user_entries - USING ttrss_user_entries, ttrss_entries - WHERE ttrss_entries.id = ref_id AND - marked = false AND - feed_id = ? AND - $query_limit - ttrss_entries.date_updated < DATE_SUB(NOW(), INTERVAL $purge_interval DAY)"); - $sth->execute([$feed_id]); - - } + $sth = $pdo->prepare("DELETE FROM ttrss_user_entries + USING ttrss_entries + WHERE ttrss_entries.id = ref_id AND + marked = false AND + feed_id = ? AND + $query_limit + ttrss_entries.date_updated < NOW() - INTERVAL '$purge_interval days'"); + $sth->execute([$feed_id]); $rows_deleted = $sth->rowCount(); @@ -2286,16 +2248,12 @@ class Feeds extends Handler_Protected { $k = mb_strtolower($k); - if (Config::get(Config::DB_TYPE) == "pgsql") { - // A hacky way for phrases (e.g. "hello world") to get through PDO quoting. - // Term '"foo bar baz"' becomes '(foo <-> bar <-> baz)' ("<->" meaning "immediately followed by"). - if (preg_match('/\s+/', $k)) - $k = '(' . preg_replace('/\s+/', ' <-> ', $k) . ')'; + // A hacky way for phrases (e.g. "hello world") to get through PDO quoting. + // Term '"foo bar baz"' becomes '(foo <-> bar <-> baz)' ("<->" meaning "immediately followed by"). + if (preg_match('/\s+/', $k)) + $k = '(' . preg_replace('/\s+/', ' <-> ', $k) . ')'; - array_push($search_query_leftover, $not ? "!$k" : $k); - } else { - array_push($search_query_leftover, $not ? "-$k" : $k); - } + array_push($search_query_leftover, $not ? "!$k" : $k); if (!$not) array_push($search_words, $k); } @@ -2304,26 +2262,18 @@ class Feeds extends Handler_Protected { if (count($search_query_leftover) > 0) { - if (Config::get(Config::DB_TYPE) == "pgsql") { - - // if there's no joiners consider this a "simple" search and - // concatenate everything with &, otherwise don't try to mess with tsquery syntax - if (preg_match("/[&|]/", implode(" " , $search_query_leftover))) { - $tsquery = $pdo->quote(implode(" ", $search_query_leftover)); - } else { - $tsquery = $pdo->quote(implode(" & ", $search_query_leftover)); - } - - $search_language = $pdo->quote(mb_strtolower($search_language ?: Prefs::get(Prefs::DEFAULT_SEARCH_LANGUAGE, $owner_uid, $profile))); - - array_push($query_keywords, - "(tsvector_combined @@ to_tsquery($search_language, $tsquery))"); + // if there's no joiners consider this a "simple" search and + // concatenate everything with &, otherwise don't try to mess with tsquery syntax + if (preg_match("/[&|]/", implode(" " , $search_query_leftover))) { + $tsquery = $pdo->quote(implode(" ", $search_query_leftover)); } else { - $ft_query = $pdo->quote(implode(" ", $search_query_leftover)); - - array_push($query_keywords, - "MATCH (ttrss_entries.title, ttrss_entries.content) AGAINST ($ft_query IN BOOLEAN MODE)"); + $tsquery = $pdo->quote(implode(" & ", $search_query_leftover)); } + + $search_language = $pdo->quote(mb_strtolower($search_language ?: Prefs::get(Prefs::DEFAULT_SEARCH_LANGUAGE, $owner_uid, $profile))); + + array_push($query_keywords, + "(tsvector_combined @@ to_tsquery($search_language, $tsquery))"); } if (count($query_keywords) > 0) diff --git a/classes/Pref_Feeds.php b/classes/Pref_Feeds.php index bc059b99f..75ae053bd 100644 --- a/classes/Pref_Feeds.php +++ b/classes/Pref_Feeds.php @@ -15,12 +15,8 @@ class Pref_Feeds extends Handler_Protected { * @return array */ public static function get_ts_languages(): array { - if (Config::get(Config::DB_TYPE) == 'pgsql') { - return array_map('ucfirst', - array_column(ORM::for_table('pg_ts_config')->select('cfgname')->find_array(), 'cfgname')); - } - - return []; + return array_map('ucfirst', + array_column(ORM::for_table('pg_ts_config')->select('cfgname')->find_array(), 'cfgname')); } function renameCat(): void { @@ -597,7 +593,7 @@ class Pref_Feeds extends Handler_Protected { "access_level" => $user->access_level ], "lang" => [ - "enabled" => Config::get(Config::DB_TYPE) == "pgsql", + "enabled" => true, "default" => Prefs::get(Prefs::DEFAULT_SEARCH_LANGUAGE, $_SESSION['uid'], $profile), "all" => $this::get_ts_languages(), ] @@ -653,13 +649,11 @@ class Pref_Feeds extends Handler_Protected { -
1]) ?> _batch_toggle_checkbox("feed_language") ?>
-
@@ -1141,12 +1135,6 @@ class Pref_Feeds extends Handler_Protected { function inactiveFeeds(): void { - if (Config::get(Config::DB_TYPE) == "pgsql") { - $interval_qpart = "NOW() - INTERVAL '3 months'"; - } else { - $interval_qpart = "DATE_SUB(NOW(), INTERVAL 3 MONTH)"; - } - $inactive_feeds = ORM::for_table('ttrss_feeds') ->table_alias('f') ->select_many('f.id', 'f.title', 'f.site_url', 'f.feed_url') @@ -1158,7 +1146,7 @@ class Pref_Feeds extends Handler_Protected { "(SELECT MAX(ttrss_entries.updated) FROM ttrss_entries JOIN ttrss_user_entries ON ttrss_entries.id = ttrss_user_entries.ref_id - WHERE ttrss_user_entries.feed_id = f.id) < $interval_qpart") + WHERE ttrss_user_entries.feed_id = f.id) < NOW() - INTERVAL '3 months'") ->group_by('f.title') ->group_by('f.id') ->group_by('f.site_url') diff --git a/classes/Pref_Prefs.php b/classes/Pref_Prefs.php index c96c84100..6942e711c 100644 --- a/classes/Pref_Prefs.php +++ b/classes/Pref_Prefs.php @@ -591,10 +591,6 @@ class Pref_Prefs extends Handler_Protected { continue; } - if ($pref_name == Prefs::DEFAULT_SEARCH_LANGUAGE && Config::get(Config::DB_TYPE) != "pgsql") { - continue; - } - if (isset($prefs_available[$pref_name])) { $item = $prefs_available[$pref_name]; diff --git a/classes/RPC.php b/classes/RPC.php index 82f85fc11..bad51e4aa 100644 --- a/classes/RPC.php +++ b/classes/RPC.php @@ -252,33 +252,18 @@ class RPC extends Handler_Protected { $default_interval = (int) Prefs::get_default(Prefs::DEFAULT_UPDATE_INTERVAL); // Test if the feed need a update (update interval exceded). - if (Config::get(Config::DB_TYPE) == "pgsql") { - $update_limit_qpart = "AND (( - update_interval = 0 - AND (p.value IS NULL OR p.value != '-1') - AND last_updated < NOW() - CAST((COALESCE(p.value, '$default_interval') || ' minutes') AS INTERVAL) - ) OR ( - update_interval > 0 - AND last_updated < NOW() - CAST((update_interval || ' minutes') AS INTERVAL) - ) OR ( - update_interval >= 0 - AND (p.value IS NULL OR p.value != '-1') - AND (last_updated = '1970-01-01 00:00:00' OR last_updated IS NULL) - ))"; - } else { - $update_limit_qpart = "AND (( - update_interval = 0 - AND (p.value IS NULL OR p.value != '-1') - AND last_updated < DATE_SUB(NOW(), INTERVAL CONVERT(COALESCE(p.value, '$default_interval'), SIGNED INTEGER) MINUTE) - ) OR ( - update_interval > 0 - AND last_updated < DATE_SUB(NOW(), INTERVAL update_interval MINUTE) - ) OR ( - update_interval >= 0 - AND (p.value IS NULL OR p.value != '-1') - AND (last_updated = '1970-01-01 00:00:00' OR last_updated IS NULL) - ))"; - } + $update_limit_qpart = "AND (( + update_interval = 0 + AND (p.value IS NULL OR p.value != '-1') + AND last_updated < NOW() - CAST((COALESCE(p.value, '$default_interval') || ' minutes') AS INTERVAL) + ) OR ( + update_interval > 0 + AND last_updated < NOW() - CAST((update_interval || ' minutes') AS INTERVAL) + ) OR ( + update_interval >= 0 + AND (p.value IS NULL OR p.value != '-1') + AND (last_updated = '1970-01-01 00:00:00' OR last_updated IS NULL) + ))"; // Test if feed is currently being updated by another process. $updstart_thresh_qpart = 'AND (last_update_started IS NULL OR ' diff --git a/classes/RSSUtils.php b/classes/RSSUtils.php index f6a81d00f..547cc094b 100644 --- a/classes/RSSUtils.php +++ b/classes/RSSUtils.php @@ -35,11 +35,6 @@ class RSSUtils { return sha1(implode(",", $pluginhost->get_plugin_names()) . $tmp); } - // Strips utf8mb4 characters (i.e. emoji) for mysql - static function strip_utf8mb4(string $str): string { - return preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $str); - } - static function cleanup_feed_browser(): void { $pdo = Db::pdo(); $pdo->query("DELETE FROM ttrss_feedbrowser_cache"); @@ -123,33 +118,18 @@ class RSSUtils { $default_interval = (int) Prefs::get_default(Prefs::DEFAULT_UPDATE_INTERVAL); - if (Config::get(Config::DB_TYPE) == "pgsql") { - $update_limit_qpart = "AND (( - update_interval = 0 - AND (p.value IS NULL OR p.value != '-1') - AND last_updated < NOW() - CAST((COALESCE(p.value, '$default_interval') || ' minutes') AS INTERVAL) - ) OR ( - update_interval > 0 - AND last_updated < NOW() - CAST((update_interval || ' minutes') AS INTERVAL) - ) OR ( - update_interval >= 0 - AND (p.value IS NULL OR p.value != '-1') - AND (last_updated = '1970-01-01 00:00:00' OR last_updated IS NULL) - ))"; - } else { - $update_limit_qpart = "AND (( - update_interval = 0 - AND (p.value IS NULL OR p.value != '-1') - AND last_updated < DATE_SUB(NOW(), INTERVAL CONVERT(COALESCE(p.value, '$default_interval'), SIGNED INTEGER) MINUTE) - ) OR ( - update_interval > 0 - AND last_updated < DATE_SUB(NOW(), INTERVAL update_interval MINUTE) - ) OR ( - update_interval >= 0 - AND (p.value IS NULL OR p.value != '-1') - AND (last_updated = '1970-01-01 00:00:00' OR last_updated IS NULL) - ))"; - } + $update_limit_qpart = "AND (( + update_interval = 0 + AND (p.value IS NULL OR p.value != '-1') + AND last_updated < NOW() - CAST((COALESCE(p.value, '$default_interval') || ' minutes') AS INTERVAL) + ) OR ( + update_interval > 0 + AND last_updated < NOW() - CAST((update_interval || ' minutes') AS INTERVAL) + ) OR ( + update_interval >= 0 + AND (p.value IS NULL OR p.value != '-1') + AND (last_updated = '1970-01-01 00:00:00' OR last_updated IS NULL) + ))"; // Test if feed is currently being updated by another process. // TODO: Update RPC::updaterandomfeed_real() to also use 10 minutes? @@ -159,10 +139,7 @@ class RSSUtils { $query_limit = $limit ? sprintf("LIMIT %d", $limit) : ""; // Update the least recently updated feeds first - $query_order = "ORDER BY last_updated"; - - if (Config::get(Config::DB_TYPE) == "pgsql") - $query_order .= " NULLS FIRST"; + $query_order = "ORDER BY last_updated NULLS FIRST"; $query = "SELECT f.feed_url, f.last_updated FROM @@ -856,15 +833,6 @@ class RSSUtils { continue; } - // Yet another episode of "mysql utf8_general_ci is gimped" - if (Config::get(Config::DB_TYPE) == "mysql" && Config::get(Config::MYSQL_CHARSET) != "UTF8MB4") { - foreach ((array)$e as $prop => $val) { - if (is_string($val)) { - $e->$prop = self::strip_utf8mb4($val); - } - } - } - array_push($enclosures, $e); } @@ -935,16 +903,6 @@ class RSSUtils { Debug::log("plugin data: {$entry_plugin_data}", Debug::LOG_VERBOSE); - // Workaround: 4-byte unicode requires utf8mb4 in MySQL. See https://tt-rss.org/forum/viewtopic.php?f=1&t=3377&p=20077#p20077 - if (Config::get(Config::DB_TYPE) == "mysql" && Config::get(Config::MYSQL_CHARSET) != "UTF8MB4") { - foreach ($article as $k => $v) { - // i guess we'll have to take the risk of 4byte unicode labels & tags here - if (is_string($article[$k])) { - $article[$k] = self::strip_utf8mb4($v); - } - } - } - /* Collect article tags here so we could filter by them: */ $matched_rules = []; @@ -1186,14 +1144,9 @@ class RSSUtils { Debug::log("resulting RID: $entry_ref_id, IID: $entry_int_id", Debug::LOG_VERBOSE); - if (Config::get(Config::DB_TYPE) == "pgsql") - $tsvector_qpart = "tsvector_combined = to_tsvector(:ts_lang, :ts_content),"; - else - $tsvector_qpart = ""; - $sth = $pdo->prepare("UPDATE ttrss_entries SET title = :title, - $tsvector_qpart + tsvector_combined = to_tsvector(:ts_lang, :ts_content), content = :content, content_hash = :content_hash, updated = :updated, @@ -1212,12 +1165,10 @@ class RSSUtils { ":plugin_data" => $entry_plugin_data, ":author" => "$entry_author", ":lang" => $entry_language, - ":id" => $ref_id]; - - if (Config::get(Config::DB_TYPE) == "pgsql") { - $params[":ts_lang"] = $feed_language; - $params[":ts_content"] = mb_substr(strip_tags($entry_title) . " " . \Soundasleep\Html2Text::convert($entry_content), 0, 900000); - } + ":id" => $ref_id, + ":ts_lang" => $feed_language, + ":ts_content" => mb_substr(strip_tags($entry_title) . " " . \Soundasleep\Html2Text::convert($entry_content), 0, 900000) + ]; $sth->execute($params); diff --git a/include/functions.php b/include/functions.php index 77033f474..69e5e746e 100644 --- a/include/functions.php +++ b/include/functions.php @@ -26,11 +26,7 @@ require_once "autoload.php"; - if (Config::get(Config::DB_TYPE) == "pgsql") { - define('SUBSTRING_FOR_DATE', 'SUBSTRING_FOR_DATE'); - } else { - define('SUBSTRING_FOR_DATE', 'SUBSTRING'); - } + define('SUBSTRING_FOR_DATE', 'SUBSTRING_FOR_DATE'); /** * @deprecated by Prefs::get() diff --git a/sql/mysql/migrations/10.sql b/sql/mysql/migrations/10.sql deleted file mode 100644 index e951f482f..000000000 --- a/sql/mysql/migrations/10.sql +++ /dev/null @@ -1,12 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('DIGEST_ENABLE', 1, 'false', 'Enable e-mail digest',1, -'This option enables sending daily digest of new (and unread) headlines on your configured e-mail address'); - -alter table ttrss_feeds add column include_in_digest bool; -update ttrss_feeds set include_in_digest = true; -alter table ttrss_feeds change include_in_digest include_in_digest bool not null; -alter table ttrss_feeds alter column include_in_digest set default true; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('CONFIRM_FEED_CATCHUP', 1, 'true', 'Confirm marking feed as read',3); - -update ttrss_version set schema_version = 10; - diff --git a/sql/mysql/migrations/100.sql b/sql/mysql/migrations/100.sql deleted file mode 100644 index a360dab6c..000000000 --- a/sql/mysql/migrations/100.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_ENABLED_PLUGINS', 2, '', '', 1); - -update ttrss_version set schema_version = 100; - -commit; diff --git a/sql/mysql/migrations/101.sql b/sql/mysql/migrations/101.sql deleted file mode 100644 index 47ff26522..000000000 --- a/sql/mysql/migrations/101.sql +++ /dev/null @@ -1,12 +0,0 @@ -begin; - -create table ttrss_plugin_storage ( - id integer not null auto_increment primary key, - name varchar(100) not null, - owner_uid integer not null, - content longtext not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -update ttrss_version set schema_version = 101; - -commit; diff --git a/sql/mysql/migrations/102.sql b/sql/mysql/migrations/102.sql deleted file mode 100644 index ccf5ef3b3..000000000 --- a/sql/mysql/migrations/102.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_MOBILE_REVERSE_HEADLINES', 1, 'false', '', 1); - -update ttrss_version set schema_version = 102; - -commit; diff --git a/sql/mysql/migrations/103.sql b/sql/mysql/migrations/103.sql deleted file mode 100644 index 6a93b80b8..000000000 --- a/sql/mysql/migrations/103.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -alter table ttrss_entries add column plugin_data longtext; - -update ttrss_version set schema_version = 103; - -commit; diff --git a/sql/mysql/migrations/104.sql b/sql/mysql/migrations/104.sql deleted file mode 100644 index 104e4b917..000000000 --- a/sql/mysql/migrations/104.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_prefs set short_desc = 'Hide images in articles' where pref_name = 'STRIP_IMAGES'; - -update ttrss_version set schema_version = 104; - -commit; diff --git a/sql/mysql/migrations/105.sql b/sql/mysql/migrations/105.sql deleted file mode 100644 index a96101784..000000000 --- a/sql/mysql/migrations/105.sql +++ /dev/null @@ -1,11 +0,0 @@ -begin; - -alter table ttrss_user_entries add column last_marked datetime; -alter table ttrss_user_entries add column last_published datetime; - -update ttrss_user_entries set last_published = last_read where published = true; -update ttrss_user_entries set last_marked = last_read where marked = true; - -update ttrss_version set schema_version = 105; - -commit; diff --git a/sql/mysql/migrations/106.sql b/sql/mysql/migrations/106.sql deleted file mode 100644 index b819416b9..000000000 --- a/sql/mysql/migrations/106.sql +++ /dev/null @@ -1,12 +0,0 @@ -begin; - -update ttrss_prefs set short_desc = 'Do not embed images in articles' where pref_name = 'STRIP_IMAGES'; - -alter table ttrss_feeds add column hide_images bool; -update ttrss_feeds set hide_images = false; -alter table ttrss_feeds change hide_images hide_images bool not null; -alter table ttrss_feeds alter column hide_images set default false; - -update ttrss_version set schema_version = 106; - -commit; diff --git a/sql/mysql/migrations/107.sql b/sql/mysql/migrations/107.sql deleted file mode 100644 index 9283d40d9..000000000 --- a/sql/mysql/migrations/107.sql +++ /dev/null @@ -1,15 +0,0 @@ -begin; - -alter table ttrss_filters2 add column inverse bool; -update ttrss_filters2 set inverse = false; -alter table ttrss_filters2 change inverse inverse bool not null; -alter table ttrss_filters2 alter column inverse set default false; - -alter table ttrss_filters2_rules add column inverse bool; -update ttrss_filters2_rules set inverse = false; -alter table ttrss_filters2_rules change inverse inverse bool not null; -alter table ttrss_filters2_rules alter column inverse set default false; - -update ttrss_version set schema_version = 107; - -commit; diff --git a/sql/mysql/migrations/108.sql b/sql/mysql/migrations/108.sql deleted file mode 100644 index 899be8bb4..000000000 --- a/sql/mysql/migrations/108.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_prefs set def_value = 'false' where pref_name = 'SORT_HEADLINES_BY_FEED_DATE'; - -update ttrss_version set schema_version = 108; - -commit; diff --git a/sql/mysql/migrations/109.sql b/sql/mysql/migrations/109.sql deleted file mode 100644 index 77e883c3b..000000000 --- a/sql/mysql/migrations/109.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_prefs set short_desc = 'Hide feeds with no unread articles' where pref_name = 'HIDE_READ_FEEDS'; - -update ttrss_version set schema_version = 109; - -commit; diff --git a/sql/mysql/migrations/11.sql b/sql/mysql/migrations/11.sql deleted file mode 100644 index 690b978eb..000000000 --- a/sql/mysql/migrations/11.sql +++ /dev/null @@ -1,18 +0,0 @@ -begin; - -delete FROM ttrss_user_prefs WHERE pref_name = 'DISPLAY_HEADER'; -delete FROM ttrss_user_prefs WHERE pref_name = 'DISPLAY_FOOTER'; -delete FROM ttrss_user_prefs WHERE pref_name = 'ENABLE_SEARCH_TOOLBAR'; -delete FROM ttrss_user_prefs WHERE pref_name = 'USE_COMPACT_STYLESHEET'; - -delete FROM ttrss_prefs WHERE pref_name = 'DISPLAY_HEADER'; -delete FROM ttrss_prefs WHERE pref_name = 'DISPLAY_FOOTER'; -delete FROM ttrss_prefs WHERE pref_name = 'ENABLE_SEARCH_TOOLBAR'; -delete FROM ttrss_prefs WHERE pref_name = 'USE_COMPACT_STYLESHEET'; - -insert into ttrss_themes (theme_name, theme_path) values ('Graycube', 'graycube'); -insert into ttrss_themes (theme_name, theme_path) values ('Default (Compact)', 'compact'); - -update ttrss_version set schema_version = 11; - -commit; diff --git a/sql/mysql/migrations/110.sql b/sql/mysql/migrations/110.sql deleted file mode 100644 index 859f7d6dc..000000000 --- a/sql/mysql/migrations/110.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('USER_CSS_THEME', 2, '', 'Select theme', 2, 'Select one of the available CSS themes'); - -update ttrss_version set schema_version = 110; - -commit; diff --git a/sql/mysql/migrations/111.sql b/sql/mysql/migrations/111.sql deleted file mode 100644 index 27f287d1a..000000000 --- a/sql/mysql/migrations/111.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_prefs set def_value = 'true' where pref_name = 'COMBINED_DISPLAY_MODE'; - -update ttrss_version set schema_version = 111; - -commit; diff --git a/sql/mysql/migrations/112.sql b/sql/mysql/migrations/112.sql deleted file mode 100644 index a6f0b200b..000000000 --- a/sql/mysql/migrations/112.sql +++ /dev/null @@ -1,15 +0,0 @@ -begin; - -alter table ttrss_filters2 add column order_id integer; -update ttrss_filters2 set order_id = 0; -alter table ttrss_filters2 change order_id order_id integer not null; -alter table ttrss_filters2 alter column order_id set default 0; - -alter table ttrss_filters2 add column title varchar(250); -update ttrss_filters2 set title = ''; -alter table ttrss_filters2 change title title varchar(250) not null; -alter table ttrss_filters2 alter column title set default ''; - -update ttrss_version set schema_version = 112; - -commit; diff --git a/sql/mysql/migrations/113.sql b/sql/mysql/migrations/113.sql deleted file mode 100644 index 3c0d00563..000000000 --- a/sql/mysql/migrations/113.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; - -insert into ttrss_filter_actions (id,name,description) values (8, 'stop', - 'Stop / Do nothing'); - -update ttrss_version set schema_version = 113; - -commit; diff --git a/sql/mysql/migrations/114.sql b/sql/mysql/migrations/114.sql deleted file mode 100644 index fd7ce5d2b..000000000 --- a/sql/mysql/migrations/114.sql +++ /dev/null @@ -1,15 +0,0 @@ -begin; - -alter table ttrss_feeds add column view_settings varchar(250); -update ttrss_feeds set view_settings = ''; -alter table ttrss_feeds change view_settings view_settings varchar(250) not null; -alter table ttrss_feeds alter column view_settings set default ''; - -alter table ttrss_feed_categories add column view_settings varchar(250); -update ttrss_feed_categories set view_settings = ''; -alter table ttrss_feed_categories change view_settings view_settings varchar(250) not null; -alter table ttrss_feed_categories alter column view_settings set default ''; - -update ttrss_version set schema_version = 114; - -commit; diff --git a/sql/mysql/migrations/115.sql b/sql/mysql/migrations/115.sql deleted file mode 100644 index e23f0533a..000000000 --- a/sql/mysql/migrations/115.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; - -alter table ttrss_prefs_sections drop column section_name; -alter table ttrss_prefs drop column short_desc; -alter table ttrss_prefs drop column help_text; - -update ttrss_version set schema_version = 115; - -commit; diff --git a/sql/mysql/migrations/116.sql b/sql/mysql/migrations/116.sql deleted file mode 100644 index 252ba0e3a..000000000 --- a/sql/mysql/migrations/116.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_prefs set def_value = 'false' where pref_name = 'ALLOW_DUPLICATE_POSTS'; - -update ttrss_version set schema_version = 116; - -commit; diff --git a/sql/mysql/migrations/117.sql b/sql/mysql/migrations/117.sql deleted file mode 100644 index da3d056cc..000000000 --- a/sql/mysql/migrations/117.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; - -ALTER TABLE ttrss_feeds ADD COLUMN favicon_avg_color VARCHAR(11); -alter table ttrss_feeds alter column favicon_avg_color set default null; - -update ttrss_version set schema_version = 117; - -commit; diff --git a/sql/mysql/migrations/118.sql b/sql/mysql/migrations/118.sql deleted file mode 100644 index add2b0c1f..000000000 --- a/sql/mysql/migrations/118.sql +++ /dev/null @@ -1,16 +0,0 @@ -begin; - -create table ttrss_error_log( - id integer not null auto_increment primary key, - owner_uid integer, - errno integer not null, - errstr text not null, - filename text not null, - lineno integer not null, - context text not null, - created_at datetime not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE SET NULL) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -update ttrss_version set schema_version = 118; - -commit; diff --git a/sql/mysql/migrations/119.sql b/sql/mysql/migrations/119.sql deleted file mode 100644 index ddb7d64de..000000000 --- a/sql/mysql/migrations/119.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_prefs set def_value = 'Automatic' where pref_name = 'USER_TIMEZONE'; - -update ttrss_version set schema_version = 119; - -commit; diff --git a/sql/mysql/migrations/12.sql b/sql/mysql/migrations/12.sql deleted file mode 100644 index 73af4e375..000000000 --- a/sql/mysql/migrations/12.sql +++ /dev/null @@ -1,12 +0,0 @@ -alter table ttrss_filters add column action_param varchar(200); - -update ttrss_filters set action_param = ''; - -alter table ttrss_filters change action_param action_param varchar(200) not null; -alter table ttrss_filters alter column action_param set default ''; - -insert into ttrss_filter_actions (id,name,description) values (4, 'tag', - 'Assign tags'); - -update ttrss_version set schema_version = 12; - diff --git a/sql/mysql/migrations/120.sql b/sql/mysql/migrations/120.sql deleted file mode 100644 index 34971146e..000000000 --- a/sql/mysql/migrations/120.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('USER_LANGUAGE', 2, '', 2); - -update ttrss_version set schema_version = 120; - -commit; diff --git a/sql/mysql/migrations/121.sql b/sql/mysql/migrations/121.sql deleted file mode 100644 index d9cf51184..000000000 --- a/sql/mysql/migrations/121.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_prefs set def_value = 'false' where pref_name = 'AUTO_ASSIGN_LABELS'; - -update ttrss_version set schema_version = 121; - -commit; diff --git a/sql/mysql/migrations/122.sql b/sql/mysql/migrations/122.sql deleted file mode 100644 index 397b97bfc..000000000 --- a/sql/mysql/migrations/122.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -alter table ttrss_entries add column lang varchar(2); - -update ttrss_version set schema_version = 122; - -commit; diff --git a/sql/mysql/migrations/123.sql b/sql/mysql/migrations/123.sql deleted file mode 100644 index f311d060b..000000000 --- a/sql/mysql/migrations/123.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; - -ALTER TABLE ttrss_counters_cache ENGINE=InnoDB DEFAULT CHARSET=UTF8; -ALTER TABLE ttrss_cat_counters_cache ENGINE=InnoDB DEFAULT CHARSET=UTF8; -ALTER TABLE ttrss_feedbrowser_cache ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -update ttrss_version set schema_version = 123; - -commit; diff --git a/sql/mysql/migrations/124.sql b/sql/mysql/migrations/124.sql deleted file mode 100644 index 96ae46341..000000000 --- a/sql/mysql/migrations/124.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; - -alter table ttrss_users add column resetpass_token varchar(250); -alter table ttrss_users alter column resetpass_token set default null; - -update ttrss_version set schema_version = 124; - -commit; diff --git a/sql/mysql/migrations/125.sql b/sql/mysql/migrations/125.sql deleted file mode 100644 index 9f004d963..000000000 --- a/sql/mysql/migrations/125.sql +++ /dev/null @@ -1,10 +0,0 @@ -begin; - -alter table ttrss_users drop column resetpass_token; - -alter table ttrss_users add column resetpass_token varchar(250); -alter table ttrss_users alter column resetpass_token set default null; - -update ttrss_version set schema_version = 125; - -commit; diff --git a/sql/mysql/migrations/126.sql b/sql/mysql/migrations/126.sql deleted file mode 100644 index 6ff661e71..000000000 --- a/sql/mysql/migrations/126.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; - -alter table ttrss_enclosures add column width integer not null default 0; -alter table ttrss_enclosures add column height integer not null default 0; - -update ttrss_version set schema_version = 126; - -commit; diff --git a/sql/mysql/migrations/127.sql b/sql/mysql/migrations/127.sql deleted file mode 100644 index 2c521d86c..000000000 --- a/sql/mysql/migrations/127.sql +++ /dev/null @@ -1,5 +0,0 @@ -BEGIN; - -UPDATE ttrss_version SET schema_version = 127; - -COMMIT; diff --git a/sql/mysql/migrations/128.sql b/sql/mysql/migrations/128.sql deleted file mode 100644 index 281379bb0..000000000 --- a/sql/mysql/migrations/128.sql +++ /dev/null @@ -1,13 +0,0 @@ -BEGIN; - -update ttrss_feeds set last_updated = NULL; -alter table ttrss_feeds modify column last_updated datetime DEFAULT NULL; - -alter table ttrss_feeds add column feed_language varchar(100); -update ttrss_feeds set feed_language = ''; -alter table ttrss_feeds change feed_language feed_language varchar(100) not null; -alter table ttrss_feeds alter column feed_language set default ''; - -UPDATE ttrss_version SET schema_version = 128; - -COMMIT; diff --git a/sql/mysql/migrations/129.sql b/sql/mysql/migrations/129.sql deleted file mode 100644 index 2ebec0dc9..000000000 --- a/sql/mysql/migrations/129.sql +++ /dev/null @@ -1,8 +0,0 @@ -BEGIN; - -insert into ttrss_filter_actions (id,name,description) values (9, 'plugin', - 'Invoke plugin'); - -UPDATE ttrss_version SET schema_version = 129; - -COMMIT; diff --git a/sql/mysql/migrations/13.sql b/sql/mysql/migrations/13.sql deleted file mode 100644 index ad068c8a2..000000000 --- a/sql/mysql/migrations/13.sql +++ /dev/null @@ -1,6 +0,0 @@ -alter table ttrss_filters add column inverse bool; -update ttrss_filters set inverse = false; -alter table ttrss_filters change inverse inverse bool not null; -alter table ttrss_filters alter column inverse set default false; - -update ttrss_version set schema_version = 13; diff --git a/sql/mysql/migrations/130.sql b/sql/mysql/migrations/130.sql deleted file mode 100644 index 7b90d4d2c..000000000 --- a/sql/mysql/migrations/130.sql +++ /dev/null @@ -1,7 +0,0 @@ -BEGIN; - -alter table ttrss_feeds alter column last_updated set default null; - -UPDATE ttrss_version SET schema_version = 130; - -COMMIT; diff --git a/sql/mysql/migrations/131.sql b/sql/mysql/migrations/131.sql deleted file mode 100644 index 9316b7f41..000000000 --- a/sql/mysql/migrations/131.sql +++ /dev/null @@ -1,7 +0,0 @@ -BEGIN; - -ALTER TABLE ttrss_filters2_rules ADD COLUMN match_on TEXT; - -UPDATE ttrss_version SET schema_version = 131; - -COMMIT; diff --git a/sql/mysql/migrations/132.sql b/sql/mysql/migrations/132.sql deleted file mode 100644 index 1f1fb5901..000000000 --- a/sql/mysql/migrations/132.sql +++ /dev/null @@ -1,10 +0,0 @@ -begin; - -alter table ttrss_feeds add column last_modified varchar(250); -update ttrss_feeds set last_modified = ''; -alter table ttrss_feeds change last_modified last_modified varchar(250) not null; -alter table ttrss_feeds alter column last_modified set default ''; - -UPDATE ttrss_version SET schema_version = 132; - -commit; diff --git a/sql/mysql/migrations/133.sql b/sql/mysql/migrations/133.sql deleted file mode 100644 index e1693a9cb..000000000 --- a/sql/mysql/migrations/133.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -alter table ttrss_feeds add column last_unconditional datetime null; - -UPDATE ttrss_version SET schema_version = 133; - -commit; diff --git a/sql/mysql/migrations/134.sql b/sql/mysql/migrations/134.sql deleted file mode 100644 index 7bbd7662d..000000000 --- a/sql/mysql/migrations/134.sql +++ /dev/null @@ -1,7 +0,0 @@ -BEGIN; - -ALTER TABLE ttrss_filters2_rules MODIFY reg_exp text not null; - -UPDATE ttrss_version SET schema_version = 134; - -COMMIT; diff --git a/sql/mysql/migrations/135.sql b/sql/mysql/migrations/135.sql deleted file mode 100644 index 6d9d41ba6..000000000 --- a/sql/mysql/migrations/135.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; - -alter table ttrss_filters2 add column last_triggered datetime; -alter table ttrss_filters2 alter column last_triggered set default null; - -update ttrss_version set schema_version = 135; - -commit; diff --git a/sql/mysql/migrations/136.sql b/sql/mysql/migrations/136.sql deleted file mode 100644 index 05506a568..000000000 --- a/sql/mysql/migrations/136.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; - -alter table ttrss_archived_feeds add column created datetime; -update ttrss_archived_feeds set created = NOW(); -alter table ttrss_archived_feeds change created created datetime not null; - -update ttrss_version set schema_version = 136; - -commit; diff --git a/sql/mysql/migrations/137.sql b/sql/mysql/migrations/137.sql deleted file mode 100644 index 45e4de02f..000000000 --- a/sql/mysql/migrations/137.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -alter table ttrss_feeds add constraint ttrss_feeds_feed_url_owner_uid_key unique (feed_url(255), owner_uid); - -update ttrss_version set schema_version = 137; - -commit; diff --git a/sql/mysql/migrations/138.sql b/sql/mysql/migrations/138.sql deleted file mode 100644 index 6bfc5bcd5..000000000 --- a/sql/mysql/migrations/138.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_SEARCH_LANGUAGE', 2, '', 2); - -update ttrss_version set schema_version = 138; - -commit; diff --git a/sql/mysql/migrations/139.sql b/sql/mysql/migrations/139.sql deleted file mode 100644 index 88dfb69c7..000000000 --- a/sql/mysql/migrations/139.sql +++ /dev/null @@ -1,13 +0,0 @@ -begin; - -create table ttrss_app_passwords (id integer not null primary key auto_increment, - title varchar(250) not null, - pwd_hash text not null, - service varchar(100) not null, - created datetime not null, - last_used datetime default null, - owner_uid integer not null references ttrss_users(id) on delete cascade) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -update ttrss_version set schema_version = 139; - -commit; diff --git a/sql/mysql/migrations/14.sql b/sql/mysql/migrations/14.sql deleted file mode 100644 index 8e7cc4dd5..000000000 --- a/sql/mysql/migrations/14.sql +++ /dev/null @@ -1,4 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('CDM_AUTO_CATCHUP', 1, 'false', 'Mark articles as read automatically',2, -'This option enables marking articles as read automatically in combined mode while you scroll article list.'); - -update ttrss_version set schema_version = 14; diff --git a/sql/mysql/migrations/140.sql b/sql/mysql/migrations/140.sql deleted file mode 100644 index 91215eff1..000000000 --- a/sql/mysql/migrations/140.sql +++ /dev/null @@ -1,4 +0,0 @@ -alter table ttrss_feeds add column last_successful_update datetime; -alter table ttrss_feeds alter column last_successful_update set default null; - -update ttrss_version set schema_version = 140; diff --git a/sql/mysql/migrations/141.sql b/sql/mysql/migrations/141.sql deleted file mode 100644 index 03caf23d0..000000000 --- a/sql/mysql/migrations/141.sql +++ /dev/null @@ -1,9 +0,0 @@ -create table ttrss_user_prefs2 ( - owner_uid integer not null, - pref_name varchar(250), - profile integer null, - value longtext not null, - foreign key (profile) references ttrss_settings_profiles(id) ON DELETE CASCADE, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -update ttrss_version set schema_version = 141; diff --git a/sql/mysql/migrations/142.sql b/sql/mysql/migrations/142.sql deleted file mode 100644 index 7a75f3f52..000000000 --- a/sql/mysql/migrations/142.sql +++ /dev/null @@ -1,4 +0,0 @@ -create index ttrss_user_labels2_article_id_idx on ttrss_user_labels2(article_id); -create index ttrss_user_labels2_label_id_idx on ttrss_user_labels2(label_id); - -update ttrss_version set schema_version = 142; diff --git a/sql/mysql/migrations/143.sql b/sql/mysql/migrations/143.sql deleted file mode 100644 index 6fb7226b5..000000000 --- a/sql/mysql/migrations/143.sql +++ /dev/null @@ -1,2 +0,0 @@ -alter table ttrss_users add column otp_secret varchar(250); -alter table ttrss_users alter column otp_secret set default null; diff --git a/sql/mysql/migrations/144.sql b/sql/mysql/migrations/144.sql deleted file mode 100644 index c1932f12b..000000000 --- a/sql/mysql/migrations/144.sql +++ /dev/null @@ -1,2 +0,0 @@ -alter table ttrss_feeds add column favicon_is_custom boolean; -alter table ttrss_feeds alter column favicon_is_custom set default null; diff --git a/sql/mysql/migrations/145.sql b/sql/mysql/migrations/145.sql deleted file mode 100644 index b49eccafc..000000000 --- a/sql/mysql/migrations/145.sql +++ /dev/null @@ -1,2 +0,0 @@ -alter table ttrss_users add column last_auth_attempt datetime; -alter table ttrss_users alter column last_auth_attempt set default null; diff --git a/sql/mysql/migrations/146.sql b/sql/mysql/migrations/146.sql deleted file mode 100644 index 6d4824727..000000000 --- a/sql/mysql/migrations/146.sql +++ /dev/null @@ -1,2 +0,0 @@ -insert into ttrss_filter_actions (id,name,description) values (10, 'ignore-tag', - 'Ignore tags'); diff --git a/sql/mysql/migrations/147.sql b/sql/mysql/migrations/147.sql deleted file mode 100644 index 93b754f6b..000000000 --- a/sql/mysql/migrations/147.sql +++ /dev/null @@ -1,2 +0,0 @@ -create fulltext index ttrss_entries_title_search_idx on ttrss_entries(title); -create fulltext index ttrss_entries_combined_search_idx on ttrss_entries(title, content); diff --git a/sql/mysql/migrations/148.sql b/sql/mysql/migrations/148.sql deleted file mode 100644 index 8b1378917..000000000 --- a/sql/mysql/migrations/148.sql +++ /dev/null @@ -1 +0,0 @@ - diff --git a/sql/mysql/migrations/15.sql b/sql/mysql/migrations/15.sql deleted file mode 100644 index 9fa183a09..000000000 --- a/sql/mysql/migrations/15.sql +++ /dev/null @@ -1,5 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_DEFAULT_VIEW_MODE', 2, 'adaptive', '', 1); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_DEFAULT_VIEW_LIMIT', 3, '30', '', 1); - -update ttrss_version set schema_version = 15; diff --git a/sql/mysql/migrations/16.sql b/sql/mysql/migrations/16.sql deleted file mode 100644 index 00034df33..000000000 --- a/sql/mysql/migrations/16.sql +++ /dev/null @@ -1,6 +0,0 @@ -alter table ttrss_feeds add column auth_pass_encrypted bool; -update ttrss_feeds set auth_pass_encrypted = false; -alter table ttrss_feeds change auth_pass_encrypted auth_pass_encrypted bool not null; -alter table ttrss_feeds alter column auth_pass_encrypted set default false; - -update ttrss_version set schema_version = 16; diff --git a/sql/mysql/migrations/17.sql b/sql/mysql/migrations/17.sql deleted file mode 100644 index f5d39f33d..000000000 --- a/sql/mysql/migrations/17.sql +++ /dev/null @@ -1,13 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_PREFS_ACTIVE_TAB', 2, '', '', 1); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_INFOBOX_DISABLE_OVERLAY', 1, 'false', '', 1); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('STRIP_UNSAFE_TAGS', 1, 'true', 'Strip unsafe tags from articles', 3, -'Strip all but most common HTML tags when reading articles.'); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('BLACKLISTED_TAGS', 2, 'main, generic, misc', 'Blacklisted tags', 3, -'When auto-detecting tags in articles these tags will not be applied (comma-separated list).'); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('ENABLE_SEARCH_TOOLBAR', 1, 'false', 'Enable search toolbar',2); - -update ttrss_version set schema_version = 17; diff --git a/sql/mysql/migrations/18.sql b/sql/mysql/migrations/18.sql deleted file mode 100644 index e03c96fd0..000000000 --- a/sql/mysql/migrations/18.sql +++ /dev/null @@ -1,3 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_PREFS_ENABLE_PAGINATION', 2, '', '', 1); - -update ttrss_version set schema_version = 18; diff --git a/sql/mysql/migrations/19.sql b/sql/mysql/migrations/19.sql deleted file mode 100644 index ce727174b..000000000 --- a/sql/mysql/migrations/19.sql +++ /dev/null @@ -1,11 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_PREFS_PUBLISH_KEY', 2, '', '', 1); - -alter table ttrss_user_entries add column published bool; -update ttrss_user_entries set published = false; -alter table ttrss_user_entries change published published bool not null; -alter table ttrss_user_entries alter column published set default false; - -insert into ttrss_filter_actions (id,name,description) values (5, 'publish', - 'Publish article'); - -update ttrss_version set schema_version = 19; diff --git a/sql/mysql/migrations/20.sql b/sql/mysql/migrations/20.sql deleted file mode 100644 index 347654512..000000000 --- a/sql/mysql/migrations/20.sql +++ /dev/null @@ -1,3 +0,0 @@ -UPDATE ttrss_prefs SET help_text = 'This option is useful when you are reading several planet-type aggregators with partially colliding userbase. When disabled, it forces same posts from different feeds to appear only once.' WHERE pref_name = 'ALLOW_DUPLICATE_POSTS'; - -update ttrss_version set schema_version = 20; diff --git a/sql/mysql/migrations/21.sql b/sql/mysql/migrations/21.sql deleted file mode 100644 index f64d82228..000000000 --- a/sql/mysql/migrations/21.sql +++ /dev/null @@ -1,3 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('FRESH_ARTICLE_MAX_AGE', 3, '24', 'Maximum age of fresh articles (in hours)',2); - -update ttrss_version set schema_version = 21; diff --git a/sql/mysql/migrations/22.sql b/sql/mysql/migrations/22.sql deleted file mode 100644 index 7b4457887..000000000 --- a/sql/mysql/migrations/22.sql +++ /dev/null @@ -1,8 +0,0 @@ -create index ttrss_entries_date_entered_index on ttrss_entries(date_entered); - -alter table ttrss_feeds add column cache_images bool; -update ttrss_feeds set cache_images = false; -alter table ttrss_feeds change cache_images cache_images bool not null; -alter table ttrss_feeds alter column cache_images set default false; - -update ttrss_version set schema_version = 22; diff --git a/sql/mysql/migrations/23.sql b/sql/mysql/migrations/23.sql deleted file mode 100644 index fe54e757d..000000000 --- a/sql/mysql/migrations/23.sql +++ /dev/null @@ -1,3 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('DIGEST_CATCHUP', 1, 'false', 'Mark articles in e-mail digest as read',1); - -update ttrss_version set schema_version = 23; diff --git a/sql/mysql/migrations/24.sql b/sql/mysql/migrations/24.sql deleted file mode 100644 index f24e34062..000000000 --- a/sql/mysql/migrations/24.sql +++ /dev/null @@ -1,3 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('CDM_EXPANDED', 1, 'true', 'Automatically expand articles in combined mode',3); - -update ttrss_version set schema_version = 24; diff --git a/sql/mysql/migrations/25.sql b/sql/mysql/migrations/25.sql deleted file mode 100644 index c3f3d5ea4..000000000 --- a/sql/mysql/migrations/25.sql +++ /dev/null @@ -1,3 +0,0 @@ -insert into ttrss_themes (theme_name, theme_path) values ('Three-pane', '3pane'); - -update ttrss_version set schema_version = 25; diff --git a/sql/mysql/migrations/26.sql b/sql/mysql/migrations/26.sql deleted file mode 100644 index 14d62b8c0..000000000 --- a/sql/mysql/migrations/26.sql +++ /dev/null @@ -1,15 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('PURGE_UNREAD_ARTICLES', 1, 'true', 'Purge unread articles',3); - -alter table ttrss_users add column created datetime; -alter table ttrss_users alter column created set default null; - -create table ttrss_enclosures (id serial not null primary key, - content_url text not null, - content_type varchar(250) not null, - post_id integer not null, - title text not null, - duration text not null, - index (post_id), - foreign key (post_id) references ttrss_entries(id) ON DELETE cascade); - -update ttrss_version set schema_version = 26; diff --git a/sql/mysql/migrations/27.sql b/sql/mysql/migrations/27.sql deleted file mode 100644 index fcd6e8509..000000000 --- a/sql/mysql/migrations/27.sql +++ /dev/null @@ -1,4 +0,0 @@ -alter table ttrss_feeds add column last_viewed datetime; -alter table ttrss_feeds alter column last_viewed set default null; - -update ttrss_version set schema_version = 27; diff --git a/sql/mysql/migrations/28.sql b/sql/mysql/migrations/28.sql deleted file mode 100644 index ffdf8448e..000000000 --- a/sql/mysql/migrations/28.sql +++ /dev/null @@ -1,3 +0,0 @@ -UPDATE ttrss_prefs SET def_value = 'main, generic, misc, uncategorized, blog, blogroll, general, news' WHERE pref_name = 'BLACKLISTED_TAGS'; - -update ttrss_version set schema_version = 28; diff --git a/sql/mysql/migrations/29.sql b/sql/mysql/migrations/29.sql deleted file mode 100644 index 89b5e94a0..000000000 --- a/sql/mysql/migrations/29.sql +++ /dev/null @@ -1,3 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('HIDE_READ_SHOWS_SPECIAL', 1, 'true', 'Show special feeds when hiding read feeds',3); - -update ttrss_version set schema_version = 29; diff --git a/sql/mysql/migrations/3.sql b/sql/mysql/migrations/3.sql deleted file mode 100644 index 79860a29c..000000000 --- a/sql/mysql/migrations/3.sql +++ /dev/null @@ -1,43 +0,0 @@ -begin; - -alter table ttrss_entries add column num_comments integer; - -update ttrss_entries set num_comments = 0; - -alter table ttrss_entries change num_comments num_comments integer not null; -alter table ttrss_entries alter column num_comments set default 0; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('COMBINED_DISPLAY_MODE', 1, 'false', 'Combined feed display',2, - 'Display expanded list of feed articles, instead of separate displays for headlines and article content'); - -alter table ttrss_feed_categories add column collapsed bool; - -update ttrss_feed_categories set collapsed = false; - -alter table ttrss_feed_categories change collapsed collapsed bool not null; -alter table ttrss_feed_categories alter column collapsed set default 0; - -alter table ttrss_feeds add column auth_login varchar(250); -alter table ttrss_feeds add column auth_pass varchar(250); - -update ttrss_feeds set auth_login = ''; -update ttrss_feeds set auth_pass = ''; - -alter table ttrss_feeds change auth_login auth_login varchar(250) not null; -alter table ttrss_feeds alter column auth_login set default ''; - -alter table ttrss_feeds change auth_pass auth_pass varchar(250) not null; -alter table ttrss_feeds alter column auth_pass set default ''; - -alter table ttrss_users add column email varchar(250); - -update ttrss_users set email = ''; - -alter table ttrss_users change email email varchar(250) not null; -alter table ttrss_users alter column email set default ''; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('ENABLE_SEARCH_TOOLBAR', 1, 'false', 'Enable search toolbar',2); - -update ttrss_version set schema_version = 3; - -commit; diff --git a/sql/mysql/migrations/30.sql b/sql/mysql/migrations/30.sql deleted file mode 100644 index 0cff2018a..000000000 --- a/sql/mysql/migrations/30.sql +++ /dev/null @@ -1,4 +0,0 @@ -alter table ttrss_feeds add column last_update_started datetime; -alter table ttrss_feeds alter column last_update_started set default null; - -update ttrss_version set schema_version = 30; diff --git a/sql/mysql/migrations/31.sql b/sql/mysql/migrations/31.sql deleted file mode 100644 index 94cfc14d8..000000000 --- a/sql/mysql/migrations/31.sql +++ /dev/null @@ -1,6 +0,0 @@ -alter table ttrss_feeds add column update_method integer; -update ttrss_feeds set update_method = 0; -alter table ttrss_feeds change update_method update_method integer not null; -alter table ttrss_feeds alter column update_method set default 0; - -update ttrss_version set schema_version = 31; diff --git a/sql/mysql/migrations/32.sql b/sql/mysql/migrations/32.sql deleted file mode 100644 index 689e5072c..000000000 --- a/sql/mysql/migrations/32.sql +++ /dev/null @@ -1,6 +0,0 @@ -alter table ttrss_prefs add column access_level integer; -update ttrss_prefs set access_level = 0; -alter table ttrss_prefs change access_level access_level integer not null; -alter table ttrss_prefs alter column access_level set default 0; - -update ttrss_version set schema_version = 32; diff --git a/sql/mysql/migrations/33.sql b/sql/mysql/migrations/33.sql deleted file mode 100644 index 8317dc2de..000000000 --- a/sql/mysql/migrations/33.sql +++ /dev/null @@ -1,3 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('HIDE_FEEDLIST', 1, 'false', 'Hide feedlist',2, 'This option hides feedlist and allows it to be toggled on the fly, useful for small screens.'); - -update ttrss_version set schema_version = 33; diff --git a/sql/mysql/migrations/34.sql b/sql/mysql/migrations/34.sql deleted file mode 100644 index e591a7a96..000000000 --- a/sql/mysql/migrations/34.sql +++ /dev/null @@ -1,3 +0,0 @@ -alter table ttrss_feeds change feed_url feed_url text not null; - -update ttrss_version set schema_version = 34; diff --git a/sql/mysql/migrations/35.sql b/sql/mysql/migrations/35.sql deleted file mode 100644 index ad112a021..000000000 --- a/sql/mysql/migrations/35.sql +++ /dev/null @@ -1 +0,0 @@ -update ttrss_version set schema_version = 35; diff --git a/sql/mysql/migrations/36.sql b/sql/mysql/migrations/36.sql deleted file mode 100644 index d92da2880..000000000 --- a/sql/mysql/migrations/36.sql +++ /dev/null @@ -1,9 +0,0 @@ -alter table ttrss_user_entries add column score integer; -update ttrss_user_entries set score = 0; -alter table ttrss_user_entries change score score integer not null; -alter table ttrss_user_entries alter column score set default 0; - -insert into ttrss_filter_actions (id,name,description) values (6, 'score', - 'Modify score'); - -update ttrss_version set schema_version = 36; diff --git a/sql/mysql/migrations/37.sql b/sql/mysql/migrations/37.sql deleted file mode 100644 index 4e764d7ee..000000000 --- a/sql/mysql/migrations/37.sql +++ /dev/null @@ -1,4 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('VFEED_GROUP_BY_FEED', 1, 'false', 'Group headlines in virtual feeds',2, - 'When this option is enabled, headlines in Special feeds and Labels are grouped by feeds'); - -update ttrss_version set schema_version = 37; diff --git a/sql/mysql/migrations/38.sql b/sql/mysql/migrations/38.sql deleted file mode 100644 index df544d03b..000000000 --- a/sql/mysql/migrations/38.sql +++ /dev/null @@ -1,3 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('SYNC_COUNTERS', 1, 'false', 'Prefer more accurate feedlist counters to UI speed',3); - -update ttrss_version set schema_version = 38; diff --git a/sql/mysql/migrations/39.sql b/sql/mysql/migrations/39.sql deleted file mode 100644 index f27db09d6..000000000 --- a/sql/mysql/migrations/39.sql +++ /dev/null @@ -1,5 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('ENABLE_FLASH_PLAYER', 1, 'true', 'Enable inline MP3 player', 3, 'Enable the Flash-based XSPF Player to play MP3-format podcast enclosures.'); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('STRIP_IMAGES', 1, 'false', 'Do not show images in articles', 2); - -update ttrss_version set schema_version = 39; diff --git a/sql/mysql/migrations/4.sql b/sql/mysql/migrations/4.sql deleted file mode 100644 index 6dfc5f82f..000000000 --- a/sql/mysql/migrations/4.sql +++ /dev/null @@ -1,17 +0,0 @@ -begin; - -alter table ttrss_feeds add column parent_feed integer; -alter table ttrss_feeds add foreign key (parent_feed) references ttrss_feeds(id) on delete set null; - -alter table ttrss_feeds add column private bool; - -update ttrss_feeds set private = false; - -alter table ttrss_feeds change private private bool not null; -alter table ttrss_feeds alter column private set default 0; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('HIDE_READ_FEEDS', 1, 'false', 'Hide feeds with no unread messages',2); - -update ttrss_version set schema_version = 4; - -commit; diff --git a/sql/mysql/migrations/40.sql b/sql/mysql/migrations/40.sql deleted file mode 100644 index 5a506cea6..000000000 --- a/sql/mysql/migrations/40.sql +++ /dev/null @@ -1,3 +0,0 @@ -update ttrss_prefs set short_desc = 'Enable feed icons' where pref_name = 'ENABLE_FEED_ICONS'; - -update ttrss_version set schema_version = 40; diff --git a/sql/mysql/migrations/41.sql b/sql/mysql/migrations/41.sql deleted file mode 100644 index bf5887336..000000000 --- a/sql/mysql/migrations/41.sql +++ /dev/null @@ -1,6 +0,0 @@ -alter table ttrss_feed_categories add column order_id integer; -update ttrss_feed_categories set order_id = 0; -alter table ttrss_feed_categories change order_id order_id integer not null; -alter table ttrss_feed_categories alter column order_id set default 0; - -update ttrss_version set schema_version = 41; diff --git a/sql/mysql/migrations/42.sql b/sql/mysql/migrations/42.sql deleted file mode 100644 index 3ae211d07..000000000 --- a/sql/mysql/migrations/42.sql +++ /dev/null @@ -1,3 +0,0 @@ -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_DEFAULT_VIEW_ORDER_BY', 2, 'default', '', 1); - -update ttrss_version set schema_version = 42; diff --git a/sql/mysql/migrations/43.sql b/sql/mysql/migrations/43.sql deleted file mode 100644 index f1344b203..000000000 --- a/sql/mysql/migrations/43.sql +++ /dev/null @@ -1,3 +0,0 @@ -alter table ttrss_labels change sql_exp sql_exp text not null; - -update ttrss_version set schema_version = 43; diff --git a/sql/mysql/migrations/44.sql b/sql/mysql/migrations/44.sql deleted file mode 100644 index c17bcc38f..000000000 --- a/sql/mysql/migrations/44.sql +++ /dev/null @@ -1,9 +0,0 @@ -create table ttrss_counters_cache ( - feed_id integer not null, - owner_uid integer not null, - value integer not null default 0, - foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE -); - -update ttrss_version set schema_version = 44; diff --git a/sql/mysql/migrations/45.sql b/sql/mysql/migrations/45.sql deleted file mode 100644 index c4b91cf48..000000000 --- a/sql/mysql/migrations/45.sql +++ /dev/null @@ -1,3 +0,0 @@ -update ttrss_prefs set help_text = 'This option enables marking articles as read automatically in combined mode (except for Fresh articles feed) while you scroll article list.' where pref_name = 'CDM_AUTO_CATCHUP'; - -update ttrss_version set schema_version = 45; diff --git a/sql/mysql/migrations/46.sql b/sql/mysql/migrations/46.sql deleted file mode 100644 index 8bf25629a..000000000 --- a/sql/mysql/migrations/46.sql +++ /dev/null @@ -1,4 +0,0 @@ -insert into ttrss_filter_types (id,name,description) values (5, 'date', - 'Article Date'); - -update ttrss_version set schema_version = 46; diff --git a/sql/mysql/migrations/47.sql b/sql/mysql/migrations/47.sql deleted file mode 100644 index a3afd94c5..000000000 --- a/sql/mysql/migrations/47.sql +++ /dev/null @@ -1,9 +0,0 @@ -alter table ttrss_filters add column filter_param varchar(200); - -update ttrss_filters set filter_param = ''; - -alter table ttrss_filters change filter_param filter_param varchar(200) not null; -alter table ttrss_filters alter column filter_param set default ''; - -update ttrss_version set schema_version = 47; - diff --git a/sql/mysql/migrations/48.sql b/sql/mysql/migrations/48.sql deleted file mode 100644 index 8c42f6e27..000000000 --- a/sql/mysql/migrations/48.sql +++ /dev/null @@ -1,6 +0,0 @@ -create table ttrss_feedbrowser_cache ( - feed_url text not null, - subscribers integer not null); - -update ttrss_version set schema_version = 48; - diff --git a/sql/mysql/migrations/49.sql b/sql/mysql/migrations/49.sql deleted file mode 100644 index 812f3e65b..000000000 --- a/sql/mysql/migrations/49.sql +++ /dev/null @@ -1,5 +0,0 @@ -alter table ttrss_counters_cache add column updated datetime; -update ttrss_counters_cache set updated = NOW(); -alter table ttrss_counters_cache change updated updated datetime not null; - -update ttrss_version set schema_version = 49; diff --git a/sql/mysql/migrations/5.sql b/sql/mysql/migrations/5.sql deleted file mode 100644 index 1d8b8537b..000000000 --- a/sql/mysql/migrations/5.sql +++ /dev/null @@ -1,12 +0,0 @@ -begin; - -create table ttrss_scheduled_updates (id integer not null primary key auto_increment, - owner_uid integer not null, - feed_id integer default null, - entered datetime not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE, - foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE) ENGINE=InnoDB; - -update ttrss_version set schema_version = 5; - -commit; diff --git a/sql/mysql/migrations/50.sql b/sql/mysql/migrations/50.sql deleted file mode 100644 index 6f49742f4..000000000 --- a/sql/mysql/migrations/50.sql +++ /dev/null @@ -1,19 +0,0 @@ -drop table if exists ttrss_counters_cache; - -create table ttrss_counters_cache ( - feed_id integer not null, - owner_uid integer not null, - value integer not null default 0, - updated datetime not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE -); - -create table ttrss_cat_counters_cache ( - feed_id integer not null, - owner_uid integer not null, - value integer not null default 0, - updated datetime not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE -); - -update ttrss_version set schema_version = 50; diff --git a/sql/mysql/migrations/51.sql b/sql/mysql/migrations/51.sql deleted file mode 100644 index e8fe4c7b8..000000000 --- a/sql/mysql/migrations/51.sql +++ /dev/null @@ -1,16 +0,0 @@ -create table ttrss_labels2 (id integer not null primary key auto_increment, - owner_uid integer not null, - caption varchar(250) not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE -) ENGINE=InnoDB; - -create table ttrss_user_labels2 (label_id integer not null, - article_id integer not null, - foreign key (label_id) references ttrss_labels2(id) ON DELETE CASCADE, - foreign key (article_id) references ttrss_entries(id) ON DELETE CASCADE -) ENGINE=InnoDB; - -insert into ttrss_filter_actions (id,name,description) values (7, 'label', - 'Assign label'); - -update ttrss_version set schema_version = 51; diff --git a/sql/mysql/migrations/52.sql b/sql/mysql/migrations/52.sql deleted file mode 100644 index 4d9b64eb1..000000000 --- a/sql/mysql/migrations/52.sql +++ /dev/null @@ -1,5 +0,0 @@ -alter table ttrss_feedbrowser_cache add column title text; -update ttrss_feedbrowser_cache set title = ''; -alter table ttrss_feedbrowser_cache change title title text not null; - -update ttrss_version set schema_version = 52; diff --git a/sql/mysql/migrations/53.sql b/sql/mysql/migrations/53.sql deleted file mode 100644 index 3db0cbd81..000000000 --- a/sql/mysql/migrations/53.sql +++ /dev/null @@ -1,11 +0,0 @@ -alter table ttrss_labels2 add column fg_color varchar(15); -update ttrss_labels2 set fg_color = ''; -alter table ttrss_labels2 change fg_color fg_color varchar(15) not null; -alter table ttrss_labels2 alter column fg_color set default ''; - -alter table ttrss_labels2 add column bg_color varchar(15); -update ttrss_labels2 set bg_color = ''; -alter table ttrss_labels2 change bg_color bg_color varchar(15) not null; -alter table ttrss_labels2 alter column bg_color set default ''; - -update ttrss_version set schema_version = 53; diff --git a/sql/mysql/migrations/54.sql b/sql/mysql/migrations/54.sql deleted file mode 100644 index 28d3f8ee4..000000000 --- a/sql/mysql/migrations/54.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('ENABLE_OFFLINE_READING', 1, 'false', 'Enable offline reading',1, 'Synchronize new articles for offline reading using Google Gears.'); - -update ttrss_version set schema_version = 54; - -commit; diff --git a/sql/mysql/migrations/55.sql b/sql/mysql/migrations/55.sql deleted file mode 100644 index 75f55b3c3..000000000 --- a/sql/mysql/migrations/55.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -alter table ttrss_user_entries add column note text; - -update ttrss_version set schema_version = 55; - -commit; diff --git a/sql/mysql/migrations/56.sql b/sql/mysql/migrations/56.sql deleted file mode 100644 index 11cd3069c..000000000 --- a/sql/mysql/migrations/56.sql +++ /dev/null @@ -1,16 +0,0 @@ -begin; - -drop table ttrss_enclosures; - -create table ttrss_enclosures (id serial not null primary key, - content_url text not null, - content_type varchar(250) not null, - post_id integer not null, - title text not null, - duration text not null, - index (post_id), - foreign key (post_id) references ttrss_entries(id) ON DELETE cascade) ENGINE=InnoDB; - -update ttrss_version set schema_version = 56; - -commit; diff --git a/sql/mysql/migrations/57.sql b/sql/mysql/migrations/57.sql deleted file mode 100644 index 27a66d5b7..000000000 --- a/sql/mysql/migrations/57.sql +++ /dev/null @@ -1,6 +0,0 @@ -alter table ttrss_feeds add column always_display_enclosures boolean; -update ttrss_feeds set always_display_enclosures = false; -alter table ttrss_feeds change always_display_enclosures always_display_enclosures boolean not null; -alter table ttrss_feeds alter column always_display_enclosures set default false; - -update ttrss_version set schema_version = 57; diff --git a/sql/mysql/migrations/58.sql b/sql/mysql/migrations/58.sql deleted file mode 100644 index 61173c1d5..000000000 --- a/sql/mysql/migrations/58.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('ENABLE_API_ACCESS', 1, 'false', 'Enable external API', 3); - -update ttrss_version set schema_version = 58; - -commit; diff --git a/sql/mysql/migrations/59.sql b/sql/mysql/migrations/59.sql deleted file mode 100644 index d51fe8f65..000000000 --- a/sql/mysql/migrations/59.sql +++ /dev/null @@ -1,13 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_COLLAPSED_SPECIAL', 1, 'false', '', 1); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_COLLAPSED_LABELS', 1, 'false', '', 1); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_COLLAPSED_FEEDLIST', 1, 'false', '', 1); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_COLLAPSED_UNCAT', 1, 'false', '', 1); - -update ttrss_version set schema_version = 59; - -commit; diff --git a/sql/mysql/migrations/6.sql b/sql/mysql/migrations/6.sql deleted file mode 100644 index b7ee97ccc..000000000 --- a/sql/mysql/migrations/6.sql +++ /dev/null @@ -1,20 +0,0 @@ -alter table ttrss_entries add column author varchar(250); - -update ttrss_entries set author = ''; - -alter table ttrss_entries change author author varchar(250) not null; -alter table ttrss_entries alter column author set default ''; - -create table ttrss_sessions (id varchar(250) not null primary key, - data text, - expire integer not null, - ip_address varchar(15) not null default '', - index (id), - index (expire)) ENGINE=InnoDB; - -delete from ttrss_prefs where pref_name = 'ENABLE_SPLASH'; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('OPEN_LINKS_IN_NEW_WINDOW', 1, 'true', 'Open article links in new browser window',2); - -update ttrss_version set schema_version = 6; - diff --git a/sql/mysql/migrations/60.sql b/sql/mysql/migrations/60.sql deleted file mode 100644 index 6b33e6c87..000000000 --- a/sql/mysql/migrations/60.sql +++ /dev/null @@ -1,20 +0,0 @@ -begin; - -alter table ttrss_user_entries change feed_id feed_id integer null; - -create table ttrss_archived_feeds (id integer not null primary key, - owner_uid integer not null, - title varchar(200) not null, - feed_url text not null, - site_url varchar(250) not null default '', - index(owner_uid), - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB; - -alter table ttrss_user_entries add column orig_feed_id integer; -update ttrss_user_entries set orig_feed_id = NULL; - -alter table ttrss_user_entries add FOREIGN KEY (orig_feed_id) REFERENCES ttrss_archived_feeds(id) ON DELETE SET NULL; - -update ttrss_version set schema_version = 60; - -commit; diff --git a/sql/mysql/migrations/61.sql b/sql/mysql/migrations/61.sql deleted file mode 100644 index 209a7ba55..000000000 --- a/sql/mysql/migrations/61.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; - -update ttrss_prefs set short_desc = 'Amount of articles to display at once', help_text = '', def_value = '30' where pref_name = 'DEFAULT_ARTICLE_LIMIT'; - -update ttrss_user_prefs set value = '30' where pref_name = 'DEFAULT_ARTICLE_LIMIT' and value = '0'; - -update ttrss_version set schema_version = 61; - -commit; diff --git a/sql/mysql/migrations/62.sql b/sql/mysql/migrations/62.sql deleted file mode 100644 index 4cc904b0a..000000000 --- a/sql/mysql/migrations/62.sql +++ /dev/null @@ -1,13 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_MOBILE_ENABLE_CATS', 1, 'false', '', 1); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_MOBILE_SHOW_IMAGES', 1, 'false', '', 1); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_MOBILE_HIDE_READ', 1, 'false', '', 1); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_MOBILE_SORT_FEEDS_UNREAD', 1, 'false', '', 1); - -update ttrss_version set schema_version = 62; - -commit; diff --git a/sql/mysql/migrations/63.sql b/sql/mysql/migrations/63.sql deleted file mode 100644 index 26b7126e7..000000000 --- a/sql/mysql/migrations/63.sql +++ /dev/null @@ -1,18 +0,0 @@ -begin; - -create table ttrss_settings_profiles(id integer primary key auto_increment, - title varchar(250) not null, - owner_uid integer not null, - index (owner_uid), - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB; - -alter table ttrss_user_prefs add column profile integer; -update ttrss_user_prefs set profile = NULL; - -alter table ttrss_user_prefs add FOREIGN KEY (profile) REFERENCES ttrss_settings_profiles(id) ON DELETE CASCADE; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_THEME_ID', 3, '0', '', 1); - -update ttrss_version set schema_version = 63; - -commit; diff --git a/sql/mysql/migrations/64.sql b/sql/mysql/migrations/64.sql deleted file mode 100644 index 51f0be7e2..000000000 --- a/sql/mysql/migrations/64.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_prefs set type_id = 2 where pref_name = '_THEME_ID'; - -update ttrss_version set schema_version = 64; - -commit; diff --git a/sql/mysql/migrations/65.sql b/sql/mysql/migrations/65.sql deleted file mode 100644 index ce21de898..000000000 --- a/sql/mysql/migrations/65.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_prefs set short_desc = 'Default feed update interval' where pref_name = 'DEFAULT_UPDATE_INTERVAL'; - -update ttrss_version set schema_version = 65; - -commit; diff --git a/sql/mysql/migrations/66.sql b/sql/mysql/migrations/66.sql deleted file mode 100644 index f90c0a157..000000000 --- a/sql/mysql/migrations/66.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_filter_types (id, name, description) values (6, 'author', 'Author'); - -update ttrss_version set schema_version = 66; - -commit; diff --git a/sql/mysql/migrations/67.sql b/sql/mysql/migrations/67.sql deleted file mode 100644 index b501bf4c3..000000000 --- a/sql/mysql/migrations/67.sql +++ /dev/null @@ -1,5 +0,0 @@ -alter table ttrss_entries add column date_updated datetime; -update ttrss_entries set date_updated = date_entered; -alter table ttrss_entries change date_updated date_updated datetime not null; - -update ttrss_version set schema_version = 67; diff --git a/sql/mysql/migrations/68.sql b/sql/mysql/migrations/68.sql deleted file mode 100644 index 6d56df0f9..000000000 --- a/sql/mysql/migrations/68.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('USER_TIMEZONE', 2, 'UTC', 'User timezone', 1); - -update ttrss_version set schema_version = 68; - -commit; diff --git a/sql/mysql/migrations/69.sql b/sql/mysql/migrations/69.sql deleted file mode 100644 index 3e42fd3fb..000000000 --- a/sql/mysql/migrations/69.sql +++ /dev/null @@ -1,12 +0,0 @@ -begin; - -create table ttrss_access_keys (id serial not null primary key, - access_key varchar(250) not null, - feed_id varchar(250) not null, - is_cat bool not null default false, - owner_uid integer not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -update ttrss_version set schema_version = 69; - -commit; diff --git a/sql/mysql/migrations/7.sql b/sql/mysql/migrations/7.sql deleted file mode 100644 index bee135989..000000000 --- a/sql/mysql/migrations/7.sql +++ /dev/null @@ -1,19 +0,0 @@ -alter table ttrss_feeds add column rtl_content bool; - -update ttrss_feeds set rtl_content = false; - -alter table ttrss_feeds change rtl_content rtl_content bool not null; -alter table ttrss_feeds alter column rtl_content set default false; - -delete from ttrss_user_prefs where pref_name = 'DISPLAY_FEEDLIST_ACTIONS'; -delete from ttrss_prefs where pref_name = 'DISPLAY_FEEDLIST_ACTIONS'; - -delete from ttrss_user_prefs where pref_name = 'ENABLE_PREFS_CATCHUP_UNCATCHUP'; -delete from ttrss_prefs where pref_name = 'ENABLE_PREFS_CATCHUP_UNCATCHUP'; - -alter table ttrss_sessions drop column ip_address; - -alter table ttrss_filters drop column description; - -update ttrss_version set schema_version = 7; - diff --git a/sql/mysql/migrations/70.sql b/sql/mysql/migrations/70.sql deleted file mode 100644 index 0c64336d4..000000000 --- a/sql/mysql/migrations/70.sql +++ /dev/null @@ -1,6 +0,0 @@ -alter table ttrss_users add column full_name varchar(250); -update ttrss_users set full_name = ''; -alter table ttrss_users change full_name full_name varchar(250) not null; -alter table ttrss_users alter column full_name set default ''; - -update ttrss_version set schema_version = 70; diff --git a/sql/mysql/migrations/71.sql b/sql/mysql/migrations/71.sql deleted file mode 100644 index 2061ada2b..000000000 --- a/sql/mysql/migrations/71.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_filter_types (id,name,description) values (7, 'tag', 'Article Tags'); - -update ttrss_version set schema_version = 71; - -commit; diff --git a/sql/mysql/migrations/72.sql b/sql/mysql/migrations/72.sql deleted file mode 100644 index 2995afda3..000000000 --- a/sql/mysql/migrations/72.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; - -alter table ttrss_user_entries add column tag_cache text; -update ttrss_user_entries set tag_cache = ''; -alter table ttrss_user_entries change tag_cache tag_cache text not null; - -update ttrss_version set schema_version = 72; - -commit; diff --git a/sql/mysql/migrations/73.sql b/sql/mysql/migrations/73.sql deleted file mode 100644 index 051578d22..000000000 --- a/sql/mysql/migrations/73.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('SORT_HEADLINES_BY_FEED_DATE', 1, 'true', 'Sort headlines by feed date',3, - 'Use feed-specified date to sort headlines instead of local import date.'); - -update ttrss_version set schema_version = 73; - -commit; diff --git a/sql/mysql/migrations/74.sql b/sql/mysql/migrations/74.sql deleted file mode 100644 index d13856ea9..000000000 --- a/sql/mysql/migrations/74.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; - -alter table ttrss_user_entries add column label_cache text; -update ttrss_user_entries set label_cache = ''; -alter table ttrss_user_entries change label_cache label_cache text not null; - -update ttrss_version set schema_version = 74; - -commit; diff --git a/sql/mysql/migrations/75.sql b/sql/mysql/migrations/75.sql deleted file mode 100644 index c9017b9e9..000000000 --- a/sql/mysql/migrations/75.sql +++ /dev/null @@ -1,10 +0,0 @@ -begin; - -alter table ttrss_feeds add column order_id integer; -update ttrss_feeds set order_id = 0; -alter table ttrss_feeds change order_id order_id integer not null; -alter table ttrss_feeds alter column order_id set default 0; - -update ttrss_version set schema_version = 75; - -commit; diff --git a/sql/mysql/migrations/76.sql b/sql/mysql/migrations/76.sql deleted file mode 100644 index 95c352b45..000000000 --- a/sql/mysql/migrations/76.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; - -alter table ttrss_users add column twitter_oauth longtext; -alter table ttrss_users alter column twitter_oauth set default null; - -update ttrss_version set schema_version = 76; - -commit; diff --git a/sql/mysql/migrations/77.sql b/sql/mysql/migrations/77.sql deleted file mode 100644 index 944f31d84..000000000 --- a/sql/mysql/migrations/77.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('USER_STYLESHEET', 2, '', 'Customize stylesheet', 2, 'Customize CSS stylesheet to your liking'); - -update ttrss_version set schema_version = 77; - -commit; diff --git a/sql/mysql/migrations/78.sql b/sql/mysql/migrations/78.sql deleted file mode 100644 index 80e9e782a..000000000 --- a/sql/mysql/migrations/78.sql +++ /dev/null @@ -1,15 +0,0 @@ -begin; - -delete from ttrss_user_prefs where pref_name in ('HIDE_FEEDLIST', 'SYNC_COUNTERS', 'ENABLE_LABELS', - 'ENABLE_SEARCH_TOOLBAR', 'ENABLE_FEED_ICONS', - 'ENABLE_OFFLINE_READING', 'EXTENDED_FEEDLIST', 'OPEN_LINKS_IN_NEW_WINDOW', - 'USER_STYLESHEET_URL', 'ENABLE_FLASH_PLAYER'); - -delete from ttrss_prefs where pref_name in ('HIDE_FEEDLIST', 'SYNC_COUNTERS', 'ENABLE_LABELS', - 'ENABLE_SEARCH_TOOLBAR', 'ENABLE_FEED_ICONS', - 'ENABLE_OFFLINE_READING', 'EXTENDED_FEEDLIST', 'OPEN_LINKS_IN_NEW_WINDOW', - 'USER_STYLESHEET_URL', 'ENABLE_FLASH_PLAYER'); - -update ttrss_version set schema_version = 78; - -commit; diff --git a/sql/mysql/migrations/79.sql b/sql/mysql/migrations/79.sql deleted file mode 100644 index 7e8c31d49..000000000 --- a/sql/mysql/migrations/79.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_MOBILE_BROWSE_CATS', 1, 'true', '', 1); - -update ttrss_version set schema_version = 79; - -commit; diff --git a/sql/mysql/migrations/8.sql b/sql/mysql/migrations/8.sql deleted file mode 100644 index 39100450b..000000000 --- a/sql/mysql/migrations/8.sql +++ /dev/null @@ -1,14 +0,0 @@ -insert into ttrss_themes (theme_name, theme_path) values ('Old-skool', 'compat'); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('ON_CATCHUP_SHOW_NEXT_FEED', 1, 'false', 'On catchup show next feed',2, - 'When "Mark as read" button is clicked in toolbar, automatically open next feed with unread articles.'); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('FEEDS_SORT_BY_UNREAD', 1, 'false', 'Sort feeds by unread articles count',2); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('EXTENDED_FEEDLIST', 1, 'false', 'Show additional information in feedlist',2); - -insert into ttrss_filter_actions (id,name,description) values (3, 'mark', - 'Set starred'); - -update ttrss_version set schema_version = 8; - diff --git a/sql/mysql/migrations/80.sql b/sql/mysql/migrations/80.sql deleted file mode 100644 index df2295c42..000000000 --- a/sql/mysql/migrations/80.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; - -update ttrss_prefs set section_id = 3, - short_desc = 'Automatically mark articles as read', - help_text = 'Mark articles as read automatically while you scroll article list.' where pref_name = 'CDM_AUTO_CATCHUP'; - -update ttrss_version set schema_version = 80; - -commit; diff --git a/sql/mysql/migrations/81.sql b/sql/mysql/migrations/81.sql deleted file mode 100644 index 800ceede0..000000000 --- a/sql/mysql/migrations/81.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_filter_actions set description = 'Delete article' where name = 'filter'; - -update ttrss_version set schema_version = 81; - -commit; diff --git a/sql/mysql/migrations/82.sql b/sql/mysql/migrations/82.sql deleted file mode 100644 index 80ca24e72..000000000 --- a/sql/mysql/migrations/82.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('SSL_CERT_SERIAL', 2, '', 'Login with an SSL certificate',3, 'Click to register your SSL client certificate with tt-rss'); - -update ttrss_version set schema_version = 82; - -commit; diff --git a/sql/mysql/migrations/83.sql b/sql/mysql/migrations/83.sql deleted file mode 100644 index e6f9a2a7f..000000000 --- a/sql/mysql/migrations/83.sql +++ /dev/null @@ -1,34 +0,0 @@ -begin; - -alter table ttrss_feeds add column mark_unread_on_update boolean; -update ttrss_feeds set mark_unread_on_update = false; -alter table ttrss_feeds change mark_unread_on_update mark_unread_on_update boolean not null; -alter table ttrss_feeds alter column mark_unread_on_update set default false; - -alter table ttrss_feeds add column strip_images boolean; -update ttrss_feeds set strip_images = false; -alter table ttrss_feeds change strip_images strip_images boolean not null; -alter table ttrss_feeds alter column strip_images set default false; - -alter table ttrss_feeds add column update_on_checksum_change boolean; -update ttrss_feeds set update_on_checksum_change = false; -alter table ttrss_feeds change update_on_checksum_change update_on_checksum_change boolean not null; -alter table ttrss_feeds alter column update_on_checksum_change set default false; - -DELETE FROM ttrss_user_prefs WHERE pref_name IN ('HIDE_FEEDLIST', 'SYNC_COUNTERS', 'ENABLE_LABELS', 'ENABLE_SEARCH_TOOLBAR', 'ENABLE_FEED_ICONS', 'ENABLE_OFFLINE_READING', 'EXTENDED_FEEDLIST', 'OPEN_LINKS_IN_NEW_WINDOW', 'ENABLE_FLASH_PLAYER', 'HEADLINES_SMART_DATE', 'MARK_UNREAD_ON_UPDATE', 'UPDATE_POST_ON_CHECKSUM_CHANGE'); - -DELETE FROM ttrss_prefs WHERE pref_name IN ('HIDE_FEEDLIST', 'SYNC_COUNTERS', 'ENABLE_LABELS', 'ENABLE_SEARCH_TOOLBAR', 'ENABLE_FEED_ICONS', 'ENABLE_OFFLINE_READING', 'EXTENDED_FEEDLIST', 'OPEN_LINKS_IN_NEW_WINDOW', 'ENABLE_FLASH_PLAYER', 'HEADLINES_SMART_DATE', 'MARK_UNREAD_ON_UPDATE', 'UPDATE_POST_ON_CHECKSUM_CHANGE'); - -alter table ttrss_feeds add column pubsub_state integer; -update ttrss_feeds set pubsub_state = 0; -alter table ttrss_feeds change pubsub_state pubsub_state integer not null; -alter table ttrss_feeds alter column pubsub_state set default 0; - -alter table ttrss_users drop foreign key ttrss_users_ibfk_1; -alter table ttrss_users drop column theme_id; - -drop table ttrss_themes; - -update ttrss_version set schema_version = 83; - -commit; diff --git a/sql/mysql/migrations/84.sql b/sql/mysql/migrations/84.sql deleted file mode 100644 index cc28b7574..000000000 --- a/sql/mysql/migrations/84.sql +++ /dev/null @@ -1,23 +0,0 @@ -begin; - -create table ttrss_linked_instances (id integer not null primary key auto_increment, - last_connected timestamp not null, - last_status_in integer not null, - last_status_out integer not null, - access_key varchar(250) not null unique, - access_url text not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_linked_feeds ( - feed_url text not null, - title text not null, - created datetime not null, - updated datetime not null, - instance_id integer not null, - subscribers integer not null, - foreign key (instance_id) references ttrss_linked_instances(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -drop table ttrss_scheduled_updates; - -update ttrss_version set schema_version = 84; - -commit; diff --git a/sql/mysql/migrations/85.sql b/sql/mysql/migrations/85.sql deleted file mode 100644 index 70cab0297..000000000 --- a/sql/mysql/migrations/85.sql +++ /dev/null @@ -1,13 +0,0 @@ -begin; - -alter table ttrss_feedbrowser_cache add column site_url text; -update ttrss_feedbrowser_cache set site_url = ''; -alter table ttrss_feedbrowser_cache change site_url site_url text not null; - -alter table ttrss_linked_feeds add column site_url text; -update ttrss_linked_feeds set site_url = ''; -alter table ttrss_linked_feeds change site_url site_url text not null; - -update ttrss_version set schema_version = 85; - -commit; diff --git a/sql/mysql/migrations/86.sql b/sql/mysql/migrations/86.sql deleted file mode 100644 index c8979b2af..000000000 --- a/sql/mysql/migrations/86.sql +++ /dev/null @@ -1,9 +0,0 @@ -begin; - -alter table ttrss_user_entries add column uuid varchar(200); -update ttrss_user_entries set uuid = ''; -alter table ttrss_user_entries change uuid uuid varchar(200) not null; - -update ttrss_version set schema_version = 86; - -commit; diff --git a/sql/mysql/migrations/87.sql b/sql/mysql/migrations/87.sql deleted file mode 100644 index 7ef4630d5..000000000 --- a/sql/mysql/migrations/87.sql +++ /dev/null @@ -1,14 +0,0 @@ -begin; - -alter table ttrss_filters add column cat_filter bool; -update ttrss_filters set cat_filter = false; -alter table ttrss_filters change cat_filter cat_filter bool not null; -alter table ttrss_filters alter column cat_filter set default false; - -alter table ttrss_filters add column cat_id integer; - -alter table ttrss_filters add FOREIGN KEY (cat_id) REFERENCES ttrss_feed_categories(id) ON DELETE CASCADE; - -update ttrss_version set schema_version = 87; - -commit; diff --git a/sql/mysql/migrations/88.sql b/sql/mysql/migrations/88.sql deleted file mode 100644 index 0abb2ab33..000000000 --- a/sql/mysql/migrations/88.sql +++ /dev/null @@ -1,10 +0,0 @@ -begin; - -alter table ttrss_users add column salt varchar(250); -update ttrss_users set salt = ''; -alter table ttrss_users change salt salt varchar(250) not null; -alter table ttrss_users alter column salt set default ''; - -update ttrss_version set schema_version = 88; - -commit; diff --git a/sql/mysql/migrations/89.sql b/sql/mysql/migrations/89.sql deleted file mode 100644 index 9727a9c42..000000000 --- a/sql/mysql/migrations/89.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('DIGEST_PREFERRED_TIME', 2, '00:00', 'Try to send digests around specified time', 1, 'Uses UTC timezone'); - -update ttrss_version set schema_version = 89; - -commit; diff --git a/sql/mysql/migrations/9.sql b/sql/mysql/migrations/9.sql deleted file mode 100644 index 546adc2d7..000000000 --- a/sql/mysql/migrations/9.sql +++ /dev/null @@ -1,29 +0,0 @@ -alter table ttrss_feeds add column hidden bool; -update ttrss_feeds set hidden = false; -alter table ttrss_feeds change hidden hidden bool not null; -alter table ttrss_feeds alter column hidden set default false; - -alter table ttrss_users add column email_digest bool; -update ttrss_users set email_digest = false; -alter table ttrss_users change email_digest email_digest bool not null; -alter table ttrss_users alter column email_digest set default false; - -alter table ttrss_users add column last_digest_sent datetime; -update ttrss_users set last_digest_sent = false; -alter table ttrss_users alter column last_digest_sent set default null; - -alter table ttrss_filters add column enabled bool; -update ttrss_filters set enabled = true; -alter table ttrss_filters change enabled enabled bool not null; -alter table ttrss_filters alter column enabled set default true; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('MARK_UNREAD_ON_UPDATE', 1, 'false', 'Set articles as unread on update',3); - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('REVERSE_HEADLINES', 1, 'false', 'Reverse headline order (oldest first)',2); - -update ttrss_prefs SET section_id = 3 WHERE pref_name = 'ENABLE_SEARCH_TOOLBAR'; -update ttrss_prefs SET section_id = 3 WHERE pref_name = 'ENABLE_FEED_ICONS'; -update ttrss_prefs SET section_id = 3 WHERE pref_name = 'EXTENDED_FEEDLIST'; - -update ttrss_version set schema_version = 9; - diff --git a/sql/mysql/migrations/90.sql b/sql/mysql/migrations/90.sql deleted file mode 100644 index b7935535e..000000000 --- a/sql/mysql/migrations/90.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_PREFS_SHOW_EMPTY_CATS', 1, 'false', '', 1); - -update ttrss_version set schema_version = 90; - -commit; diff --git a/sql/mysql/migrations/91.sql b/sql/mysql/migrations/91.sql deleted file mode 100644 index 791d43063..000000000 --- a/sql/mysql/migrations/91.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -update ttrss_prefs set help_text = 'Automatically open next feed with unread articles after marking one as read' where pref_name = 'ON_CATCHUP_SHOW_NEXT_FEED'; - -update ttrss_version set schema_version = 91; - -commit; diff --git a/sql/mysql/migrations/92.sql b/sql/mysql/migrations/92.sql deleted file mode 100644 index 8ebe81fe0..000000000 --- a/sql/mysql/migrations/92.sql +++ /dev/null @@ -1,8 +0,0 @@ -begin; - -alter table ttrss_feeds add column favicon_last_checked datetime; -alter table ttrss_feeds alter column favicon_last_checked set default null; - -update ttrss_version set schema_version = 92; - -commit; diff --git a/sql/mysql/migrations/93.sql b/sql/mysql/migrations/93.sql deleted file mode 100644 index 56b96e3b5..000000000 --- a/sql/mysql/migrations/93.sql +++ /dev/null @@ -1,10 +0,0 @@ -begin; - -alter table ttrss_feed_categories add column parent_cat integer; -update ttrss_feed_categories set parent_cat = NULL; - -alter table ttrss_feed_categories add FOREIGN KEY (parent_cat) REFERENCES ttrss_feed_categories(id) ON DELETE SET NULL; - -update ttrss_version set schema_version = 93; - -commit; diff --git a/sql/mysql/migrations/94.sql b/sql/mysql/migrations/94.sql deleted file mode 100644 index 0f76c4c5f..000000000 --- a/sql/mysql/migrations/94.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_DEFAULT_INCLUDE_CHILDREN', 1, 'false', '', 1); - -update ttrss_version set schema_version = 94; - -commit; diff --git a/sql/mysql/migrations/95.sql b/sql/mysql/migrations/95.sql deleted file mode 100644 index 234acd495..000000000 --- a/sql/mysql/migrations/95.sql +++ /dev/null @@ -1,39 +0,0 @@ -begin; - -update ttrss_prefs set short_desc = 'Purge articles after this number of days (0 - disables)' -where pref_name = 'PURGE_OLD_DAYS'; - -update ttrss_prefs set section_id = 1 where pref_name = 'ENABLE_API_ACCESS'; - -update ttrss_prefs set section_id = 2 where pref_name = 'CONFIRM_FEED_CATCHUP'; -update ttrss_prefs set section_id = 2 where pref_name = 'CDM_EXPANDED'; -update ttrss_prefs set section_id = 2 where pref_name = 'CDM_AUTO_CATCHUP'; -update ttrss_prefs set section_id = 2 where pref_name = 'SORT_HEADLINES_BY_FEED_DATE'; -update ttrss_prefs set section_id = 2 where pref_name = 'HIDE_READ_SHOWS_SPECIAL'; - -insert into ttrss_prefs_sections (id, section_name) values (4, 'Digest'); - -update ttrss_prefs set section_id = 4 where pref_name = 'DIGEST_ENABLE'; -update ttrss_prefs set section_id = 4 where pref_name = 'DIGEST_PREFERRED_TIME'; -update ttrss_prefs set section_id = 4 where pref_name = 'DIGEST_CATCHUP'; - -alter table ttrss_prefs_sections add column order_id integer; -update ttrss_prefs_sections set order_id = 0; -alter table ttrss_prefs_sections change order_id order_id int not null; - -update ttrss_prefs_sections set order_id = 0 where id = 1; -update ttrss_prefs_sections set order_id = 1 where id = 2; -update ttrss_prefs_sections set order_id = 2 where id = 4; -update ttrss_prefs_sections set order_id = 3 where id = 3; - -update ttrss_prefs set access_level = 1 where pref_name in ('ON_CATCHUP_SHOW_NEXT_FEED', - 'SORT_HEADLINES_BY_FEED_DATE', - 'VFEED_GROUP_BY_FEED', - 'FRESH_ARTICLE_MAX_AGE', - 'CDM_EXPANDED', - 'SHOW_CONTENT_PREVIEW', - 'HIDE_READ_SHOWS_SPECIAL'); - -update ttrss_version set schema_version = 95; - -commit; diff --git a/sql/mysql/migrations/96.sql b/sql/mysql/migrations/96.sql deleted file mode 100644 index 4d4e2445c..000000000 --- a/sql/mysql/migrations/96.sql +++ /dev/null @@ -1,38 +0,0 @@ -begin; - -create table ttrss_filters2(id integer primary key auto_increment, - owner_uid integer not null, - match_any_rule boolean not null default false, - enabled boolean not null default true, - index(owner_uid), - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_filters2_rules(id integer primary key auto_increment, - filter_id integer not null references ttrss_filters2(id) on delete cascade, - reg_exp varchar(250) not null, - filter_type integer not null, - feed_id integer default null, - cat_id integer default null, - cat_filter boolean not null default false, - index (filter_id), - foreign key (filter_id) references ttrss_filters2(id) on delete cascade, - index (filter_type), - foreign key (filter_type) references ttrss_filter_types(id) ON DELETE CASCADE, - index (feed_id), - foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE, - index (cat_id), - foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_filters2_actions(id integer primary key auto_increment, - filter_id integer not null, - action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade, - action_param varchar(250) not null default '', - index (filter_id), - foreign key (filter_id) references ttrss_filters2(id) on delete cascade, - index (action_id), - foreign key (action_id) references ttrss_filter_actions(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -update ttrss_version set schema_version = 96; - -commit; - diff --git a/sql/mysql/migrations/97.sql b/sql/mysql/migrations/97.sql deleted file mode 100644 index c555b86dc..000000000 --- a/sql/mysql/migrations/97.sql +++ /dev/null @@ -1,10 +0,0 @@ -begin; - -alter table ttrss_users add column otp_enabled boolean; -update ttrss_users set otp_enabled = false; -alter table ttrss_users change otp_enabled otp_enabled boolean not null; -alter table ttrss_users alter column otp_enabled set default false; - -update ttrss_version set schema_version = 97; - -commit; diff --git a/sql/mysql/migrations/98.sql b/sql/mysql/migrations/98.sql deleted file mode 100644 index 1984a4325..000000000 --- a/sql/mysql/migrations/98.sql +++ /dev/null @@ -1,7 +0,0 @@ -begin; - -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,access_level) values('AUTO_ASSIGN_LABELS', 1, 'true', 'Assign articles to labels automatically', 3, 1); - -update ttrss_version set schema_version = 98; - -commit; diff --git a/sql/mysql/migrations/99.sql b/sql/mysql/migrations/99.sql deleted file mode 100644 index d7f9e0230..000000000 --- a/sql/mysql/migrations/99.sql +++ /dev/null @@ -1,12 +0,0 @@ -begin; - -alter table ttrss_feeds add column cache_content bool; -update ttrss_feeds set cache_content = false; -alter table ttrss_feeds change cache_content cache_content bool not null; -alter table ttrss_feeds alter column cache_content set default false; - -alter table ttrss_entries add column cached_content longtext; - -update ttrss_version set schema_version = 99; - -commit; diff --git a/sql/mysql/schema.sql b/sql/mysql/schema.sql deleted file mode 100644 index ffabab669..000000000 --- a/sql/mysql/schema.sql +++ /dev/null @@ -1,422 +0,0 @@ -SET NAMES utf8; -SET CHARACTER SET utf8; - -drop table if exists ttrss_error_log; -drop table if exists ttrss_plugin_storage; -drop table if exists ttrss_linked_feeds; -drop table if exists ttrss_linked_instances; -drop table if exists ttrss_access_keys; -drop table if exists ttrss_user_labels2; -drop table if exists ttrss_labels2; -drop table if exists ttrss_feedbrowser_cache; -drop table if exists ttrss_labels; -drop table if exists ttrss_filters2_actions; -drop table if exists ttrss_filters2_rules; -drop table if exists ttrss_filters2; -drop table if exists ttrss_filters; -drop table if exists ttrss_filter_types; -drop table if exists ttrss_filter_actions; -drop table if exists ttrss_user_prefs; -drop table if exists ttrss_user_prefs2; -drop table if exists ttrss_prefs; -drop table if exists ttrss_prefs_types; -drop table if exists ttrss_prefs_sections; -drop table if exists ttrss_tags; -drop table if exists ttrss_enclosures; -drop table if exists ttrss_settings_profiles; -drop table if exists ttrss_entry_comments; -drop table if exists ttrss_user_entries; -drop table if exists ttrss_entries; -drop table if exists ttrss_scheduled_updates; -drop table if exists ttrss_counters_cache; -drop table if exists ttrss_cat_counters_cache; -drop table if exists ttrss_feeds; -drop table if exists ttrss_archived_feeds; -drop table if exists ttrss_feed_categories; -drop table if exists ttrss_app_passwords; -drop table if exists ttrss_users; -drop table if exists ttrss_themes; -drop table if exists ttrss_sessions; - -begin; - -create table ttrss_users (id integer primary key not null auto_increment, - login varchar(120) not null unique, - pwd_hash varchar(250) not null, - last_login datetime default null, - access_level integer not null default 0, - email varchar(250) not null default '', - full_name varchar(250) not null default '', - email_digest bool not null default false, - last_digest_sent datetime default null, - salt varchar(250) not null default '', - created datetime default null, - twitter_oauth longtext default null, - otp_enabled boolean not null default false, - otp_secret varchar(250) default null, - resetpass_token varchar(250) default null, - last_auth_attempt datetime default null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -insert into ttrss_users (login,pwd_hash,access_level) values ('admin', - 'SHA1:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8', 10); - -create table ttrss_app_passwords (id integer not null primary key auto_increment, - title varchar(250) not null, - pwd_hash text not null, - service varchar(100) not null, - created datetime not null, - last_used datetime default null, - owner_uid integer not null references ttrss_users(id) on delete cascade) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_feed_categories(id integer not null primary key auto_increment, - owner_uid integer not null, - title varchar(200) not null, - collapsed bool not null default false, - order_id integer not null default 0, - parent_cat integer, - view_settings varchar(250) not null default '', - foreign key (parent_cat) references ttrss_feed_categories(id) ON DELETE SET NULL, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_archived_feeds (id integer not null primary key, - owner_uid integer not null, - created datetime not null, - title varchar(200) not null, - feed_url text not null, - site_url varchar(250) not null default '', - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_counters_cache ( - feed_id integer not null, - owner_uid integer not null, - value integer not null default 0, - updated datetime not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create index ttrss_counters_cache_feed_id_idx on ttrss_counters_cache(feed_id); -create index ttrss_counters_cache_value_idx on ttrss_counters_cache(value); - -create table ttrss_cat_counters_cache ( - feed_id integer not null, - owner_uid integer not null, - value integer not null default 0, - updated datetime not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_feeds (id integer not null auto_increment primary key, - owner_uid integer not null, - title varchar(200) not null, - cat_id integer default null, - feed_url text not null, - icon_url varchar(250) not null default '', - update_interval integer not null default 0, - purge_interval integer not null default 0, - last_updated datetime default null, - last_unconditional datetime default null, - last_error varchar(250) not null default '', - last_modified varchar(250) not null default '', - favicon_avg_color varchar(11) default null, - favicon_is_custom boolean default null, - site_url varchar(250) not null default '', - auth_login varchar(250) not null default '', - auth_pass varchar(250) not null default '', - parent_feed integer default null, - private bool not null default false, - rtl_content bool not null default false, - hidden bool not null default false, - include_in_digest boolean not null default true, - cache_images boolean not null default false, - hide_images boolean not null default false, - cache_content boolean not null default false, - auth_pass_encrypted boolean not null default false, - last_viewed datetime default null, - last_update_started datetime default null, - last_successful_update datetime default null, - always_display_enclosures boolean not null default false, - update_method integer not null default 0, - order_id integer not null default 0, - mark_unread_on_update boolean not null default false, - update_on_checksum_change boolean not null default false, - strip_images boolean not null default false, - view_settings varchar(250) not null default '', - pubsub_state integer not null default 0, - favicon_last_checked datetime default null, - feed_language varchar(100) not null default '', - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE, - foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE SET NULL, - foreign key (parent_feed) references ttrss_feeds(id) ON DELETE SET NULL, - unique(feed_url(255), owner_uid)) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_entries (id integer not null primary key auto_increment, - title text not null, - guid varchar(255) not null unique, - link text not null, - updated datetime not null, - content longtext not null, - content_hash varchar(250) not null, - cached_content longtext, - no_orig_date bool not null default 0, - date_entered datetime not null, - date_updated datetime not null, - num_comments integer not null default 0, - plugin_data longtext, - lang varchar(2), - comments varchar(250) not null default '', - author varchar(250) not null default '') ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create index ttrss_entries_date_entered_index on ttrss_entries(date_entered); -create index ttrss_entries_updated_idx on ttrss_entries(updated); - -create fulltext index ttrss_entries_title_search_idx on ttrss_entries(title); -create fulltext index ttrss_entries_combined_search_idx on ttrss_entries(title, content); - -create table ttrss_user_entries ( - int_id integer not null primary key auto_increment, - ref_id integer not null, - uuid varchar(200) not null, - feed_id int, - orig_feed_id int, - owner_uid integer not null, - marked bool not null default 0, - published bool not null default 0, - tag_cache text not null, - label_cache text not null, - last_read datetime, - score int not null default 0, - note longtext, - last_marked datetime, - last_published datetime, - unread bool not null default 1, - foreign key (ref_id) references ttrss_entries(id) ON DELETE CASCADE, - foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE, - foreign key (orig_feed_id) references ttrss_archived_feeds(id) ON DELETE SET NULL, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create index ttrss_user_entries_unread_idx on ttrss_user_entries(unread); - -create table ttrss_entry_comments (id integer not null primary key, - ref_id integer not null, - owner_uid integer not null, - private bool not null default 0, - date_entered datetime not null, - index (ref_id), - foreign key (ref_id) references ttrss_entries(id) ON DELETE CASCADE, - index (owner_uid), - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_filter_types (id integer primary key, - name varchar(120) unique not null, - description varchar(250) not null unique) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -insert into ttrss_filter_types (id,name,description) values (1, 'title', 'Title'); -insert into ttrss_filter_types (id,name,description) values (2, 'content', 'Content'); -insert into ttrss_filter_types (id,name,description) values (3, 'both', - 'Title or Content'); -insert into ttrss_filter_types (id,name,description) values (4, 'link', - 'Link'); -insert into ttrss_filter_types (id,name,description) values (5, 'date', - 'Article Date'); -insert into ttrss_filter_types (id,name,description) values (6, 'author', 'Author'); -insert into ttrss_filter_types (id,name,description) values (7, 'tag', 'Article Tags'); - -create table ttrss_filter_actions (id integer not null primary key, - name varchar(120) unique not null, - description varchar(250) not null unique) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -insert into ttrss_filter_actions (id,name,description) values (1, 'filter', - 'Delete article'); - -insert into ttrss_filter_actions (id,name,description) values (2, 'catchup', - 'Mark as read'); - -insert into ttrss_filter_actions (id,name,description) values (3, 'mark', - 'Set starred'); - -insert into ttrss_filter_actions (id,name,description) values (4, 'tag', - 'Assign tags'); - -insert into ttrss_filter_actions (id,name,description) values (5, 'publish', - 'Publish article'); - -insert into ttrss_filter_actions (id,name,description) values (6, 'score', - 'Modify score'); - -insert into ttrss_filter_actions (id,name,description) values (7, 'label', - 'Assign label'); - -insert into ttrss_filter_actions (id,name,description) values (8, 'stop', - 'Stop / Do nothing'); - -insert into ttrss_filter_actions (id,name,description) values (9, 'plugin', - 'Invoke plugin'); - -insert into ttrss_filter_actions (id,name,description) values (10, 'ignore-tag', - 'Ignore tags'); - -create table ttrss_filters2(id integer primary key auto_increment, - owner_uid integer not null, - match_any_rule boolean not null default false, - enabled boolean not null default true, - inverse bool not null default false, - title varchar(250) not null default '', - order_id integer not null default 0, - last_triggered datetime default null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_filters2_rules(id integer primary key auto_increment, - filter_id integer not null references ttrss_filters2(id) on delete cascade, - reg_exp text not null, - inverse bool not null default false, - filter_type integer not null, - feed_id integer default null, - cat_id integer default null, - cat_filter boolean not null default false, - match_on text, - index (filter_id), - foreign key (filter_id) references ttrss_filters2(id) on delete cascade, - index (filter_type), - foreign key (filter_type) references ttrss_filter_types(id) ON DELETE CASCADE, - index (feed_id), - foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE, - index (cat_id), - foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_filters2_actions(id integer primary key auto_increment, - filter_id integer not null, - action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade, - action_param varchar(250) not null default '', - index (filter_id), - foreign key (filter_id) references ttrss_filters2(id) on delete cascade, - index (action_id), - foreign key (action_id) references ttrss_filter_actions(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_tags (id integer primary key auto_increment, - owner_uid integer not null, - tag_name varchar(250) not null, - post_int_id integer not null, - index (post_int_id), - foreign key (post_int_id) references ttrss_user_entries(int_id) ON DELETE CASCADE, - index (owner_uid), - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_enclosures (id integer primary key auto_increment, - content_url text not null, - content_type varchar(250) not null, - post_id integer not null, - title text not null, - duration text not null, - width integer not null default 0, - height integer not null default 0, - foreign key (post_id) references ttrss_entries(id) ON DELETE cascade) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_settings_profiles(id integer primary key auto_increment, - title varchar(250) not null, - owner_uid integer not null, - index (owner_uid), - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_prefs_types (id integer not null primary key, - type_name varchar(100) not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_prefs_sections (id integer not null primary key, - order_id integer not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_prefs (pref_name varchar(250) not null primary key, - type_id integer not null, - section_id integer not null default 1, - access_level integer not null default 0, - def_value text not null, - foreign key (type_id) references ttrss_prefs_types(id), - foreign key (section_id) references ttrss_prefs_sections(id)) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_user_prefs ( - owner_uid integer not null, - pref_name varchar(250), - value longtext not null, - profile integer, - index (profile), - foreign key (profile) references ttrss_settings_profiles(id) ON DELETE CASCADE, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE, - foreign key (pref_name) references ttrss_prefs(pref_name) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_user_prefs2 ( - owner_uid integer not null, - pref_name varchar(250), - profile integer null, - value longtext not null, - foreign key (profile) references ttrss_settings_profiles(id) ON DELETE CASCADE, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_sessions (id varchar(250) not null primary key, - data text, - expire integer not null, - index (expire)) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_feedbrowser_cache ( - feed_url text not null, - site_url text not null, - title text not null, - subscribers integer not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_labels2 (id integer not null primary key auto_increment, - owner_uid integer not null, - caption varchar(250) not null, - fg_color varchar(15) not null default '', - bg_color varchar(15) not null default '', - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_user_labels2 (label_id integer not null, - article_id integer not null, - foreign key (label_id) references ttrss_labels2(id) ON DELETE CASCADE, - foreign key (article_id) references ttrss_entries(id) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create index ttrss_user_labels2_article_id_idx on ttrss_user_labels2(article_id); -create index ttrss_user_labels2_label_id_idx on ttrss_user_labels2(label_id); - -create table ttrss_access_keys (id integer not null primary key auto_increment, - access_key varchar(250) not null, - feed_id varchar(250) not null, - is_cat bool not null default false, - owner_uid integer not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_linked_instances (id integer not null primary key auto_increment, - last_connected datetime not null, - last_status_in integer not null, - last_status_out integer not null, - access_key varchar(250) not null unique, - access_url text not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_linked_feeds ( - feed_url text not null, - site_url text not null, - title text not null, - created datetime not null, - updated datetime not null, - instance_id integer not null, - subscribers integer not null, - foreign key (instance_id) references ttrss_linked_instances(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_plugin_storage ( - id integer not null auto_increment primary key, - name varchar(100) not null, - owner_uid integer not null, - content longtext not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -create table ttrss_error_log( - id integer not null auto_increment primary key, - owner_uid integer, - errno integer not null, - errstr text not null, - filename text not null, - lineno integer not null, - context text not null, - created_at datetime not null, - foreign key (owner_uid) references ttrss_users(id) ON DELETE SET NULL) ENGINE=InnoDB DEFAULT CHARSET=UTF8; - -commit;