From fc63599d52b0baa5099682f445f625f4d123169d Mon Sep 17 00:00:00 2001 From: Florent Poinsaut <1256948+FlorentPoinsaut@users.noreply.github.com> Date: Tue, 21 Mar 2023 12:03:57 +0100 Subject: [PATCH] Fix UpdateField with PostgreSQL --- htdocs/core/db/pgsql.class.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index 069afeca4ff..3676eaf63ee 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -1183,7 +1183,7 @@ class DoliDBPgsql extends DoliDB $sql = "ALTER TABLE ".$table." ADD ".$field_name." "; $sql .= $field_desc['type']; if (preg_match("/^[^\s]/i", $field_desc['value'])) { - if (!in_array($field_desc['type'], array('int', 'date', 'datetime')) && $field_desc['value']) { + if (!in_array($field_desc['type'], array('smallint', 'int', 'date', 'datetime')) && $field_desc['value']) { $sql .= "(".$field_desc['value'].")"; } } @@ -1225,9 +1225,11 @@ class DoliDBPgsql extends DoliDB { // phpcs:enable $sql = "ALTER TABLE ".$table; - $sql .= " MODIFY COLUMN ".$field_name." ".$field_desc['type']; - if (in_array($field_desc['type'], array('double', 'varchar')) && $field_desc['value']) { - $sql .= "(".$field_desc['value'].")"; + $sql .= ' ALTER COLUMN "'.$field_name.'" TYPE '.$field_desc['type']; + if (preg_match("/^[^\s]/i", $field_desc['value'])) { + if (!in_array($field_desc['type'], array('smallint', 'int', 'date', 'datetime')) && $field_desc['value']) { + $sql .= "(".$field_desc['value'].")"; + } } if ($field_desc['null'] == 'not null' || $field_desc['null'] == 'NOT NULL') {