summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2025-04-28 04:48:01 +0000
committerAndrew Dolgov <fox@fakecake.org>2025-04-28 04:48:01 +0000
commit4cb8a84df46d46bc325b6638defbdc4dc34151ed (patch)
tree77acdf9b8271568a53e636fc4e84d4bda1404f82
parent0e4b8bd6538f3062d34a3a06ab5531c70042de78 (diff)
parentf80187e05f12c2fe9c487bff13058b207833b227 (diff)
Merge branch 'rip-mysql' into 'master'
initial attempt to remove mysql-related stuff from tt-rss See merge request tt-rss/tt-rss!120
-rw-r--r--.docker/app/Dockerfile2
-rw-r--r--classes/Article.php43
-rw-r--r--classes/Config.php54
-rw-r--r--classes/Db.php39
-rw-r--r--classes/Db_Migrations.php9
-rw-r--r--classes/FeedItem_Atom.php2
-rw-r--r--classes/FeedItem_Common.php6
-rw-r--r--classes/FeedItem_RSS.php1
-rw-r--r--classes/FeedParser.php2
-rw-r--r--classes/Feeds.php124
-rw-r--r--classes/Pref_Feeds.php20
-rw-r--r--classes/Pref_Prefs.php4
-rw-r--r--classes/RPC.php43
-rw-r--r--classes/RSSUtils.php85
-rw-r--r--include/functions.php6
-rw-r--r--plugins/af_psql_trgm/init.php91
-rwxr-xr-xplugins/cache_starred_images/init.php4
-rw-r--r--sql/mysql/migrations/10.sql12
-rw-r--r--sql/mysql/migrations/100.sql7
-rw-r--r--sql/mysql/migrations/101.sql12
-rw-r--r--sql/mysql/migrations/102.sql7
-rw-r--r--sql/mysql/migrations/103.sql7
-rw-r--r--sql/mysql/migrations/104.sql7
-rw-r--r--sql/mysql/migrations/105.sql11
-rw-r--r--sql/mysql/migrations/106.sql12
-rw-r--r--sql/mysql/migrations/107.sql15
-rw-r--r--sql/mysql/migrations/108.sql7
-rw-r--r--sql/mysql/migrations/109.sql7
-rw-r--r--sql/mysql/migrations/11.sql18
-rw-r--r--sql/mysql/migrations/110.sql7
-rw-r--r--sql/mysql/migrations/111.sql7
-rw-r--r--sql/mysql/migrations/112.sql15
-rw-r--r--sql/mysql/migrations/113.sql8
-rw-r--r--sql/mysql/migrations/114.sql15
-rw-r--r--sql/mysql/migrations/115.sql9
-rw-r--r--sql/mysql/migrations/116.sql7
-rw-r--r--sql/mysql/migrations/117.sql8
-rw-r--r--sql/mysql/migrations/118.sql16
-rw-r--r--sql/mysql/migrations/119.sql7
-rw-r--r--sql/mysql/migrations/12.sql12
-rw-r--r--sql/mysql/migrations/120.sql7
-rw-r--r--sql/mysql/migrations/121.sql7
-rw-r--r--sql/mysql/migrations/122.sql7
-rw-r--r--sql/mysql/migrations/123.sql9
-rw-r--r--sql/mysql/migrations/124.sql8
-rw-r--r--sql/mysql/migrations/125.sql10
-rw-r--r--sql/mysql/migrations/126.sql8
-rw-r--r--sql/mysql/migrations/127.sql5
-rw-r--r--sql/mysql/migrations/128.sql13
-rw-r--r--sql/mysql/migrations/129.sql8
-rw-r--r--sql/mysql/migrations/13.sql6
-rw-r--r--sql/mysql/migrations/130.sql7
-rw-r--r--sql/mysql/migrations/131.sql7
-rw-r--r--sql/mysql/migrations/132.sql10
-rw-r--r--sql/mysql/migrations/133.sql7
-rw-r--r--sql/mysql/migrations/134.sql7
-rw-r--r--sql/mysql/migrations/135.sql8
-rw-r--r--sql/mysql/migrations/136.sql9
-rw-r--r--sql/mysql/migrations/137.sql7
-rw-r--r--sql/mysql/migrations/138.sql7
-rw-r--r--sql/mysql/migrations/139.sql13
-rw-r--r--sql/mysql/migrations/14.sql4
-rw-r--r--sql/mysql/migrations/140.sql4
-rw-r--r--sql/mysql/migrations/141.sql9
-rw-r--r--sql/mysql/migrations/142.sql4
-rw-r--r--sql/mysql/migrations/143.sql2
-rw-r--r--sql/mysql/migrations/144.sql2
-rw-r--r--sql/mysql/migrations/145.sql2
-rw-r--r--sql/mysql/migrations/146.sql2
-rw-r--r--sql/mysql/migrations/147.sql2
-rw-r--r--sql/mysql/migrations/148.sql1
-rw-r--r--sql/mysql/migrations/149.sql1
-rw-r--r--sql/mysql/migrations/15.sql5
-rw-r--r--sql/mysql/migrations/16.sql6
-rw-r--r--sql/mysql/migrations/17.sql13
-rw-r--r--sql/mysql/migrations/18.sql3
-rw-r--r--sql/mysql/migrations/19.sql11
-rw-r--r--sql/mysql/migrations/20.sql3
-rw-r--r--sql/mysql/migrations/21.sql3
-rw-r--r--sql/mysql/migrations/22.sql8
-rw-r--r--sql/mysql/migrations/23.sql3
-rw-r--r--sql/mysql/migrations/24.sql3
-rw-r--r--sql/mysql/migrations/25.sql3
-rw-r--r--sql/mysql/migrations/26.sql15
-rw-r--r--sql/mysql/migrations/27.sql4
-rw-r--r--sql/mysql/migrations/28.sql3
-rw-r--r--sql/mysql/migrations/29.sql3
-rw-r--r--sql/mysql/migrations/3.sql43
-rw-r--r--sql/mysql/migrations/30.sql4
-rw-r--r--sql/mysql/migrations/31.sql6
-rw-r--r--sql/mysql/migrations/32.sql6
-rw-r--r--sql/mysql/migrations/33.sql3
-rw-r--r--sql/mysql/migrations/34.sql3
-rw-r--r--sql/mysql/migrations/35.sql1
-rw-r--r--sql/mysql/migrations/36.sql9
-rw-r--r--sql/mysql/migrations/37.sql4
-rw-r--r--sql/mysql/migrations/38.sql3
-rw-r--r--sql/mysql/migrations/39.sql5
-rw-r--r--sql/mysql/migrations/4.sql17
-rw-r--r--sql/mysql/migrations/40.sql3
-rw-r--r--sql/mysql/migrations/41.sql6
-rw-r--r--sql/mysql/migrations/42.sql3
-rw-r--r--sql/mysql/migrations/43.sql3
-rw-r--r--sql/mysql/migrations/44.sql9
-rw-r--r--sql/mysql/migrations/45.sql3
-rw-r--r--sql/mysql/migrations/46.sql4
-rw-r--r--sql/mysql/migrations/47.sql9
-rw-r--r--sql/mysql/migrations/48.sql6
-rw-r--r--sql/mysql/migrations/49.sql5
-rw-r--r--sql/mysql/migrations/5.sql12
-rw-r--r--sql/mysql/migrations/50.sql19
-rw-r--r--sql/mysql/migrations/51.sql16
-rw-r--r--sql/mysql/migrations/52.sql5
-rw-r--r--sql/mysql/migrations/53.sql11
-rw-r--r--sql/mysql/migrations/54.sql7
-rw-r--r--sql/mysql/migrations/55.sql7
-rw-r--r--sql/mysql/migrations/56.sql16
-rw-r--r--sql/mysql/migrations/57.sql6
-rw-r--r--sql/mysql/migrations/58.sql7
-rw-r--r--sql/mysql/migrations/59.sql13
-rw-r--r--sql/mysql/migrations/6.sql20
-rw-r--r--sql/mysql/migrations/60.sql20
-rw-r--r--sql/mysql/migrations/61.sql9
-rw-r--r--sql/mysql/migrations/62.sql13
-rw-r--r--sql/mysql/migrations/63.sql18
-rw-r--r--sql/mysql/migrations/64.sql7
-rw-r--r--sql/mysql/migrations/65.sql7
-rw-r--r--sql/mysql/migrations/66.sql7
-rw-r--r--sql/mysql/migrations/67.sql5
-rw-r--r--sql/mysql/migrations/68.sql7
-rw-r--r--sql/mysql/migrations/69.sql12
-rw-r--r--sql/mysql/migrations/7.sql19
-rw-r--r--sql/mysql/migrations/70.sql6
-rw-r--r--sql/mysql/migrations/71.sql7
-rw-r--r--sql/mysql/migrations/72.sql9
-rw-r--r--sql/mysql/migrations/73.sql8
-rw-r--r--sql/mysql/migrations/74.sql9
-rw-r--r--sql/mysql/migrations/75.sql10
-rw-r--r--sql/mysql/migrations/76.sql8
-rw-r--r--sql/mysql/migrations/77.sql7
-rw-r--r--sql/mysql/migrations/78.sql15
-rw-r--r--sql/mysql/migrations/79.sql7
-rw-r--r--sql/mysql/migrations/8.sql14
-rw-r--r--sql/mysql/migrations/80.sql9
-rw-r--r--sql/mysql/migrations/81.sql7
-rw-r--r--sql/mysql/migrations/82.sql7
-rw-r--r--sql/mysql/migrations/83.sql34
-rw-r--r--sql/mysql/migrations/84.sql23
-rw-r--r--sql/mysql/migrations/85.sql13
-rw-r--r--sql/mysql/migrations/86.sql9
-rw-r--r--sql/mysql/migrations/87.sql14
-rw-r--r--sql/mysql/migrations/88.sql10
-rw-r--r--sql/mysql/migrations/89.sql7
-rw-r--r--sql/mysql/migrations/9.sql29
-rw-r--r--sql/mysql/migrations/90.sql7
-rw-r--r--sql/mysql/migrations/91.sql7
-rw-r--r--sql/mysql/migrations/92.sql8
-rw-r--r--sql/mysql/migrations/93.sql10
-rw-r--r--sql/mysql/migrations/94.sql7
-rw-r--r--sql/mysql/migrations/95.sql39
-rw-r--r--sql/mysql/migrations/96.sql38
-rw-r--r--sql/mysql/migrations/97.sql10
-rw-r--r--sql/mysql/migrations/98.sql7
-rw-r--r--sql/mysql/migrations/99.sql12
-rw-r--r--sql/mysql/schema.sql422
165 files changed, 143 insertions, 2161 deletions
diff --git a/.docker/app/Dockerfile b/.docker/app/Dockerfile
index 7a87f7ea3..786179bd5 100644
--- a/.docker/app/Dockerfile
+++ b/.docker/app/Dockerfile
@@ -91,11 +91,9 @@ ENV TTRSS_XDEBUG_ENABLED=""
ENV TTRSS_XDEBUG_HOST=""
ENV TTRSS_XDEBUG_PORT="9000"
-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 ca64eb269..c4176b7a8 100644
--- a/classes/Config.php
+++ b/classes/Config.php
@@ -18,13 +18,16 @@ class Config {
*
* or config.php:
*
- * putenv('TTRSS_DB_TYPE=pgsql');
+ * putenv('TTRSS_DB_HOST=my-patroni.example.com');
*
* note lack of quotes and spaces before and after "=".
*
*/
- /** database type: pgsql or mysql */
+ /** this is kept for backwards/plugin compatibility, the only supported database is PostgreSQL
+ *
+ * @deprecated usages of `Config::get(Config::DB_TYPE)` should be replaced with default (and only) value: `pgsql` or removed
+ */
const DB_TYPE = "DB_TYPE";
/** database server hostname */
@@ -42,10 +45,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 +203,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 +479,6 @@ class Config {
}
/* sanity check stuff */
- /** checks for mysql tables not using InnoDB (tt-rss is incompatible with MyISAM)
- * @return array<int, array<string, string>> 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 +583,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 = "<p>The following tables use an unsupported MySQL engine: <b>" .
- implode(", ", $bad_tables_fmt) . "</b>.</p>";
-
- $msg .= "<p>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.</p>
- <p><b>WARNING: importing the schema would mean LOSS OF ALL YOUR DATA.</b></p>";
-
-
- 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..872c6b351 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 'pgsql: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;
}
@@ -89,16 +71,14 @@ class Db {
return self::$instance->pdo;
}
+ /** @deprecated usages should be replaced with `RANDOM()` */
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 +86,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 +93,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..33bc64a32 100644
--- a/classes/Db_Migrations.php
+++ b/classes/Db_Migrations.php
@@ -23,7 +23,7 @@ class Db_Migrations {
}
function initialize(string $root_path, string $migrations_table, bool $base_is_latest = true, int $max_version_override = 0): void {
- $this->base_path = "$root_path/" . Config::get(Config::DB_TYPE);
+ $this->base_path = "$root_path/pgsql";
$this->migrations_path = $this->base_path . "/migrations";
$this->migrations_table = $migrations_table;
$this->base_is_latest = $base_is_latest;
@@ -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_Atom.php b/classes/FeedItem_Atom.php
index 6996705da..044167c9d 100644
--- a/classes/FeedItem_Atom.php
+++ b/classes/FeedItem_Atom.php
@@ -80,6 +80,7 @@ class FeedItem_Atom extends FeedItem_Common {
$elems = $tmpxpath->query("(//*[@href]|//*[@src])");
+ /** @var DOMElement $elem */
foreach ($elems as $elem) {
if ($elem->hasAttribute("href")) {
$elem->setAttribute("href",
@@ -210,6 +211,7 @@ class FeedItem_Atom extends FeedItem_Common {
return clean($lang);
} else {
// Fall back to the language declared on the feed, if any.
+ /** @var DOMElement|DOMNode $child */
foreach ($this->doc->childNodes as $child) {
if (method_exists($child, "getAttributeNS")) {
return clean($child->getAttributeNS(self::NS_XML, "lang"));
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/FeedItem_RSS.php b/classes/FeedItem_RSS.php
index 6e1435310..d1158a45d 100644
--- a/classes/FeedItem_RSS.php
+++ b/classes/FeedItem_RSS.php
@@ -33,6 +33,7 @@ class FeedItem_RSS extends FeedItem_Common {
function get_link(): string {
$links = $this->xpath->query("atom:link", $this->elem);
+ /** @var DOMElement $link */
foreach ($links as $link) {
if ($link->hasAttribute("href") &&
(!$link->hasAttribute("rel")
diff --git a/classes/FeedParser.php b/classes/FeedParser.php
index fd26226ae..8a117bde4 100644
--- a/classes/FeedParser.php
+++ b/classes/FeedParser.php
@@ -213,6 +213,7 @@ class FeedParser {
case $this::FEED_ATOM:
$links = $this->xpath->query("//atom:feed/atom:link");
+ /** @var DOMElement $link */
foreach ($links as $link) {
if (!$rel || $link->hasAttribute('rel') && $link->getAttribute('rel') == $rel) {
array_push($rv, clean(trim($link->getAttribute('href'))));
@@ -222,6 +223,7 @@ class FeedParser {
case $this::FEED_RSS:
$links = $this->xpath->query("//atom:link");
+ /** @var DOMElement $link */
foreach ($links as $link) {
if (!$rel || $link->hasAttribute('rel') && $link->getAttribute('rel') == $rel) {
array_push($rv, clean(trim($link->getAttribute('href'))));
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<int, string>
*/
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 {
</fieldset>
<?php } ?>
- <?php if (Config::get(Config::DB_TYPE) == "pgsql") { ?>
<fieldset>
<label><?= __('Language:') ?></label>
<?= \Controls\select_tag("feed_language", "", $this::get_ts_languages(), ["disabled"=> 1]) ?>
<?= $this->_batch_toggle_checkbox("feed_language") ?>
</fieldset>
- <?php } ?>
</section>
<hr/>
@@ -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..031bef509 100644
--- a/classes/RPC.php
+++ b/classes/RPC.php
@@ -252,40 +252,23 @@ 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 '
. Db::past_comparison_qpart('last_update_started', '<', 5, 'minute') . ')';
- $random_qpart = Db::sql_random_function();
-
$pdo = Db::pdo();
// we could be invoked from public.php with no active session
@@ -305,7 +288,7 @@ class RPC extends Handler_Protected {
$owner_check_qpart
$update_limit_qpart
$updstart_thresh_qpart
- ORDER BY $random_qpart LIMIT 30";
+ ORDER BY RANDOM() LIMIT 30";
$res = $pdo->query($query);
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/plugins/af_psql_trgm/init.php b/plugins/af_psql_trgm/init.php
index 28a0ab933..5832320e8 100644
--- a/plugins/af_psql_trgm/init.php
+++ b/plugins/af_psql_trgm/init.php
@@ -63,41 +63,22 @@ class Af_Psql_Trgm extends Plugin {
print "<p>$title</p>";
- if (Config::get(Config::DB_TYPE) == "pgsql") {
- $sth = $this->pdo->prepare("SELECT ttrss_entries.id AS id,
- feed_id,
- ttrss_entries.title AS title,
- updated, link,
- ttrss_feeds.title AS feed_title,
- SIMILARITY(ttrss_entries.title, :title) AS sm
- FROM
- ttrss_entries, ttrss_user_entries LEFT JOIN ttrss_feeds ON (ttrss_feeds.id = feed_id)
- WHERE
- ttrss_entries.id = ref_id AND
- ttrss_user_entries.owner_uid = :owner_uid AND
- ttrss_entries.id != :id AND
- date_entered >= NOW() - INTERVAL '2 weeks'
- ORDER BY
- sm DESC, date_entered DESC
- LIMIT 10");
- } else {
- $sth = $this->pdo->prepare("SELECT ttrss_entries.id AS id,
- feed_id,
- ttrss_entries.title AS title,
- updated, link,
- ttrss_feeds.title AS feed_title,
- (MATCH (ttrss_entries.title) AGAINST (:title) / LENGTH(ttrss_entries.title)) AS sm
- FROM
- ttrss_entries, ttrss_user_entries LEFT JOIN ttrss_feeds ON (ttrss_feeds.id = feed_id)
- WHERE
- ttrss_entries.id = ref_id AND
- ttrss_user_entries.owner_uid = :owner_uid AND
- ttrss_entries.id != :id AND
- date_entered >= DATE_SUB(NOW(), INTERVAL 2 WEEK)
- ORDER BY
- sm DESC, date_entered DESC
- LIMIT 10");
- }
+ $sth = $this->pdo->prepare("SELECT ttrss_entries.id AS id,
+ feed_id,
+ ttrss_entries.title AS title,
+ updated, link,
+ ttrss_feeds.title AS feed_title,
+ SIMILARITY(ttrss_entries.title, :title) AS sm
+ FROM
+ ttrss_entries, ttrss_user_entries LEFT JOIN ttrss_feeds ON (ttrss_feeds.id = feed_id)
+ WHERE
+ ttrss_entries.id = ref_id AND
+ ttrss_user_entries.owner_uid = :owner_uid AND
+ ttrss_entries.id != :id AND
+ date_entered >= NOW() - INTERVAL '2 weeks'
+ ORDER BY
+ sm DESC, date_entered DESC
+ LIMIT 10");
$sth->execute(['title' => $title, "owner_uid" => $owner_uid, "id" => $id]);
@@ -157,12 +138,10 @@ class Af_Psql_Trgm extends Plugin {
title="<i class='material-icons'>extension</i> <?= __('Mark similar articles as read (af_psql_trgm)') ?>">
<?php
- if (Config::get(Config::DB_TYPE) == "pgsql") {
- $res = $this->pdo->query("select 'similarity'::regproc");
+ $res = $this->pdo->query("select 'similarity'::regproc");
- if (!$res || !$res->fetch()) {
- print_error("pg_trgm extension not found.");
- }
+ if (!$res || !$res->fetch()) {
+ print_error("pg_trgm extension not found.");
} ?>
<form dojoType="dijit.form.Form">
@@ -190,11 +169,7 @@ class Af_Psql_Trgm extends Plugin {
name="similarity" value="<?= htmlspecialchars($similarity) ?>">
<div dojoType='dijit.Tooltip' connectId='psql_trgm_similarity' position='below'>
- <?php if (Config::get(Config::DB_TYPE) == "pgsql") { ?>
- <?= __("PostgreSQL trigram extension returns string similarity as a floating point number (0-1). Setting it too low might produce false positives, zero disables checking.") ?>
- <?php } else { ?>
- <?= __("Setting this value too low might produce false positives, zero disables checking.") ?>
- <?php } ?>
+ <?= __("PostgreSQL trigram extension returns string similarity as a floating point number (0-1). Setting it too low might produce false positives, zero disables checking.") ?>
</div>
</fieldset>
@@ -283,10 +258,8 @@ class Af_Psql_Trgm extends Plugin {
function hook_article_filter($article) {
- if (Config::get(Config::DB_TYPE) == "pgsql") {
- $res = $this->pdo->query("select 'similarity'::regproc");
- if (!$res || !$res->fetch()) return $article;
- }
+ $res = $this->pdo->query("select 'similarity'::regproc");
+ if (!$res || !$res->fetch()) return $article;
$enable_globally = $this->host->get($this, "enable_globally");
@@ -336,21 +309,11 @@ class Af_Psql_Trgm extends Plugin {
return $article;
} */
- if (Config::get(Config::DB_TYPE) == "pgsql") {
- $sth = $this->pdo->prepare("SELECT MAX(SIMILARITY(title, :title)) AS ms
- FROM ttrss_entries, ttrss_user_entries WHERE ref_id = id AND
- date_entered >= NOW() - interval '1 day' AND
- guid != :guid AND
- owner_uid = :uid");
- } else {
- $sth = $this->pdo->prepare("SELECT (MATCH(title) AGAINST (:title) / LENGTH(title)) AS ms
- FROM ttrss_entries, ttrss_user_entries WHERE ref_id = id AND
- date_entered >= DATE_SUB(NOW(), INTERVAL 1 DAY) AND
- guid != :guid AND
- owner_uid = :uid
- ORDER BY ms DESC
- LIMIT 1");
- }
+ $sth = $this->pdo->prepare("SELECT MAX(SIMILARITY(title, :title)) AS ms
+ FROM ttrss_entries, ttrss_user_entries WHERE ref_id = id AND
+ date_entered >= NOW() - interval '1 day' AND
+ guid != :guid AND
+ owner_uid = :uid");
$sth->execute(['title' => $title_escaped, 'guid' => $entry_guid, 'uid' => $owner_uid]);
diff --git a/plugins/cache_starred_images/init.php b/plugins/cache_starred_images/init.php
index 14a1fd7e9..527fb21ee 100755
--- a/plugins/cache_starred_images/init.php
+++ b/plugins/cache_starred_images/init.php
@@ -53,7 +53,7 @@ class Cache_Starred_Images extends Plugin {
site_url != '' AND
ttrss_user_entries.owner_uid = ? AND
plugin_data NOT LIKE '%starred_cache_images%'
- ORDER BY ".Db::sql_random_function()." LIMIT 100");
+ ORDER BY RANDOM() LIMIT 100");
if ($sth->execute([$this->host->get_owner_uid()])) {
@@ -122,6 +122,7 @@ class Cache_Starred_Images extends Plugin {
if ($article_id) {
$entries = $xpath->query('(//img[@src])|(//video/source[@src])');
+ /** @var DOMElement $entry */
foreach ($entries as $entry) {
if ($entry->hasAttribute('src')) {
$src = UrlHelper::rewrite_relative($site_url, $entry->getAttribute('src'));
@@ -197,6 +198,7 @@ class Cache_Starred_Images extends Plugin {
$xpath = new DOMXPath($doc);
$entries = $xpath->query('(//img[@src])|(//video/source[@src])');
+ /** @var DOMElement $entry */
foreach ($entries as $entry) {
if ($entry->hasAttribute('src') && !str_starts_with($entry->getAttribute('src'), "data:")) {
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 ab290eb4c..000000000
--- a/sql/mysql/migrations/148.sql
+++ /dev/null
@@ -1 +0,0 @@
-select 1;
diff --git a/sql/mysql/migrations/149.sql b/sql/mysql/migrations/149.sql
deleted file mode 100644
index ab290eb4c..000000000
--- a/sql/mysql/migrations/149.sql
+++ /dev/null
@@ -1 +0,0 @@
-select 1;
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;