fix update of postgres database

This commit is contained in:
Uwe Steinmann 2025-04-13 14:28:02 +02:00
parent cd4743d917
commit 92bee67638

View File

@ -406,8 +406,8 @@ echo '<p><a href="install.php">' . getMLText("settings_start_install") . '</a></
$this->contentHeading("SeedDMS Installation for version ".$_GET['version']); $this->contentHeading("SeedDMS Installation for version ".$_GET['version']);
$this->contentContainerStart(); $this->contentContainerStart();
$sqlfile = "update.sql"; $sqlfile = "update.sql";
switch($settings->_dbDriver) { switch($settings->_dbDriver) {
case 'mysql': case 'mysql':
case 'mysqli': case 'mysqli':
case 'mysqlnd': case 'mysqlnd':
@ -428,16 +428,27 @@ switch($settings->_dbDriver) {
$dsn .= ";port=".$tmp[1]; $dsn .= ";port=".$tmp[1];
if(file_exists('update-'.$_GET['version'].'/update-postgres.sql')) if(file_exists('update-'.$_GET['version'].'/update-postgres.sql'))
$sqlfile = "update-postgres.sql"; $sqlfile = "update-postgres.sql";
} }
$db = new PDO($dsn, $settings->_dbUser, $settings->_dbPass); $db = new PDO($dsn, $settings->_dbUser, $settings->_dbPass);
if (!$db) { if (!$db) {
die; die;
} }
$errorMsg = ''; $errorMsg = '';
$res = $db->query('select * from tblVersion'); switch($settings->_dbDriver) {
$recs = $res->fetchAll(PDO::FETCH_ASSOC); case 'mysql':
if(!empty($recs)) { case 'mysqli':
case 'mysqlnd':
case 'sqlite':
$sql = 'select * from `tblVersion`';
break;
case 'pgsql':
$sql = 'select * from "tblVersion"';
break;
}
$res = $db->query($sql);
$recs = $res->fetchAll(PDO::FETCH_ASSOC);
if(!empty($recs)) {
$rec = $recs[0]; $rec = $recs[0];
if($_GET['version'] > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) { if($_GET['version'] > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) {
@ -477,15 +488,15 @@ if(!empty($recs)) {
echo $errorMsg; echo $errorMsg;
} }
echo "<p><a href=\"install.php\">Go back to installation and recheck.</a></p>"; echo "<p><a href=\"install.php\">Go back to installation and recheck.</a></p>";
} else { } else {
echo "<p>Could not determine database schema version.</p>"; echo "<p>Could not determine database schema version.</p>";
} }
$db = null; $db = null;
// just remove info for web page installation // just remove info for web page installation
$settings->_printDisclaimer = false; $settings->_printDisclaimer = false;
$settings->_footNote = false; $settings->_footNote = false;
// end of the page // end of the page
$this->contentContainerEnd(); $this->contentContainerEnd();
$this->contentEnd(); $this->contentEnd();
$this->htmlEndPage(); $this->htmlEndPage();