diff options
| author | 2025-10-24 12:49:29 +0200 | |
|---|---|---|
| committer | 2025-10-24 12:49:29 +0200 | |
| commit | 9833d8197686d9614fc5cbd300e0761a520e2e6d (patch) | |
| tree | bc03ed08a242bb55146232b3babf827aa6348b16 /app/Models/CategoryDAO.php | |
| parent | 90c69e04bb25ff237b4ca1add7bd87feac646b33 (diff) | |
Better SQL auto-update f.kind (#8148)
Add a little help to make sure that feed.kind gets added during the first call.
Tested that replacing the DB with a backup from Febuary 2020 just works, automatically adding new columns since FreshRSS 1.20.0.
Diffstat (limited to 'app/Models/CategoryDAO.php')
| -rw-r--r-- | app/Models/CategoryDAO.php | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/app/Models/CategoryDAO.php b/app/Models/CategoryDAO.php index 5520c39d6..e2fc825ac 100644 --- a/app/Models/CategoryDAO.php +++ b/app/Models/CategoryDAO.php @@ -94,6 +94,12 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo { if (isset($errorInfo[0])) { if ($errorInfo[0] === FreshRSS_DatabaseDAO::ER_BAD_FIELD_ERROR || $errorInfo[0] === FreshRSS_DatabaseDAOPGSQL::UNDEFINED_COLUMN) { $errorLines = explode("\n", $errorInfo[2], 2); // The relevant column name is on the first line, other lines are noise + if (str_contains($errorLines[0], 'f.')) { // Coming from a feed sub-query + $feedDao = FreshRSS_Factory::createFeedDao(); + if ($feedDao->autoUpdateDb($errorInfo)) { + return true; + } + } foreach (['kind', 'lastUpdate', 'error', 'attributes'] as $column) { if (str_contains($errorLines[0], $column)) { return $this->addColumn($column); |
