aboutsummaryrefslogtreecommitdiff
path: root/app/SQL/install.sql.pgsql.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2024-08-04 19:42:01 +0200
committerGravatar GitHub <noreply@github.com> 2024-08-04 19:42:01 +0200
commitb034ce2ccbc3363127d96fdc3ede298374f2c5bc (patch)
tree4dc0f5990645786a7e7e362a82226dc815d4dc2a /app/SQL/install.sql.pgsql.php
parentb6f7c31e4c03e1f5d9974c39550708844f479942 (diff)
SQL test if minor update is needed (#6692)
* SQL test if minor update is needed fix https://github.com/FreshRSS/FreshRSS/issues/6592 * Minor syntax
Diffstat (limited to 'app/SQL/install.sql.pgsql.php')
-rw-r--r--app/SQL/install.sql.pgsql.php67
1 files changed, 39 insertions, 28 deletions
diff --git a/app/SQL/install.sql.pgsql.php b/app/SQL/install.sql.pgsql.php
index ad14a37a0..5ea59b828 100644
--- a/app/SQL/install.sql.pgsql.php
+++ b/app/SQL/install.sql.pgsql.php
@@ -103,32 +103,43 @@ DROP TABLE IF EXISTS `_entrytag`, `_tag`, `_entrytmp`, `_entry`, `_feed`, `_cate
SQL;
$GLOBALS['SQL_UPDATE_MINOR'] = <<<'SQL'
-ALTER TABLE `_category`
- ALTER COLUMN "name" SET DATA TYPE VARCHAR(191);
-ALTER TABLE `_feed`
- DROP CONSTRAINT IF EXISTS `_feed_url_key`,
- ALTER COLUMN "url" SET DATA TYPE VARCHAR(32768),
- ALTER COLUMN "name" SET DATA TYPE VARCHAR(191),
- ALTER COLUMN "website" SET DATA TYPE VARCHAR(32768),
- ALTER COLUMN "lastUpdate" SET DATA TYPE BIGINT,
- ALTER COLUMN "pathEntries" SET DATA TYPE VARCHAR(4096),
- ALTER COLUMN "httpAuth" SET DATA TYPE VARCHAR(1024);
-ALTER TABLE `_entry`
- ALTER COLUMN "date" SET DATA TYPE BIGINT,
- ALTER COLUMN "lastSeen" SET DATA TYPE BIGINT,
- ALTER COLUMN "guid" SET DATA TYPE VARCHAR(767),
- ALTER COLUMN "title" SET DATA TYPE VARCHAR(8192),
- ALTER COLUMN "author" SET DATA TYPE VARCHAR(1024),
- ALTER COLUMN "link" SET DATA TYPE VARCHAR(16383),
- ALTER COLUMN "tags" SET DATA TYPE VARCHAR(2048);
-ALTER TABLE `_entrytmp`
- ALTER COLUMN "date" SET DATA TYPE BIGINT,
- ALTER COLUMN "lastSeen" SET DATA TYPE BIGINT,
- ALTER COLUMN "guid" SET DATA TYPE VARCHAR(767),
- ALTER COLUMN "title" SET DATA TYPE VARCHAR(8192),
- ALTER COLUMN "author" SET DATA TYPE VARCHAR(1024),
- ALTER COLUMN "link" SET DATA TYPE VARCHAR(16383),
- ALTER COLUMN "tags" SET DATA TYPE VARCHAR(2048);
-ALTER TABLE `_tag`
- ALTER COLUMN "name" SET DATA TYPE VARCHAR(191);
+DO $$
+BEGIN
+ IF NOT EXISTS (
+ SELECT 1 FROM information_schema.columns
+ WHERE table_schema = 'public'
+ AND table_name = REPLACE('`_tag`', '"', '')
+ AND column_name = 'name'
+ AND character_maximum_length = 191
+ ) THEN
+ ALTER TABLE `_category`
+ ALTER COLUMN "name" SET DATA TYPE VARCHAR(191);
+ ALTER TABLE `_feed`
+ DROP CONSTRAINT IF EXISTS `_feed_url_key`,
+ ALTER COLUMN "url" SET DATA TYPE VARCHAR(32768),
+ ALTER COLUMN "name" SET DATA TYPE VARCHAR(191),
+ ALTER COLUMN "website" SET DATA TYPE VARCHAR(32768),
+ ALTER COLUMN "lastUpdate" SET DATA TYPE BIGINT,
+ ALTER COLUMN "pathEntries" SET DATA TYPE VARCHAR(4096),
+ ALTER COLUMN "httpAuth" SET DATA TYPE VARCHAR(1024);
+ ALTER TABLE `_entry`
+ ALTER COLUMN "date" SET DATA TYPE BIGINT,
+ ALTER COLUMN "lastSeen" SET DATA TYPE BIGINT,
+ ALTER COLUMN "guid" SET DATA TYPE VARCHAR(767),
+ ALTER COLUMN "title" SET DATA TYPE VARCHAR(8192),
+ ALTER COLUMN "author" SET DATA TYPE VARCHAR(1024),
+ ALTER COLUMN "link" SET DATA TYPE VARCHAR(16383),
+ ALTER COLUMN "tags" SET DATA TYPE VARCHAR(2048);
+ ALTER TABLE `_entrytmp`
+ ALTER COLUMN "date" SET DATA TYPE BIGINT,
+ ALTER COLUMN "lastSeen" SET DATA TYPE BIGINT,
+ ALTER COLUMN "guid" SET DATA TYPE VARCHAR(767),
+ ALTER COLUMN "title" SET DATA TYPE VARCHAR(8192),
+ ALTER COLUMN "author" SET DATA TYPE VARCHAR(1024),
+ ALTER COLUMN "link" SET DATA TYPE VARCHAR(16383),
+ ALTER COLUMN "tags" SET DATA TYPE VARCHAR(2048);
+ ALTER TABLE `_tag`
+ ALTER COLUMN "name" SET DATA TYPE VARCHAR(191);
+ END IF;
+END $$;
SQL;