- Fixed deletion of the uidx_extensions_name_version index in the system DB update scripts

- Fixed creatation of uidx_extensions_name_version_server index in the system DB update scripts
This commit is contained in:
Paolo
2023-04-06 11:56:06 +02:00
parent e60335b635
commit 5465f26c80
2 changed files with 26 additions and 12 deletions
+1
View File
@@ -32,6 +32,7 @@ require_once('dbupdate_3.4/26173_index_webservicelog.php');
require_once('dbupdate_3.4/24682_reihungstest_zugangscode_fuer_login.php');
require_once('dbupdate_3.4/17512_fehlercode_constraints.php');
require_once('dbupdate_3.4/19154_beurteilungsformulare_pruefungssenat.php');
require_once('dbupdate_3.4/13011_installation_on_multiple_servers.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -3,34 +3,47 @@
if (! defined('DB_NAME')) exit('No direct script access allowed');
// stud_selfservice boolean fuer public.tbl_vorlage
if(!@$db->db_query("SELECT server_kurzbz FROM system.tbl_extensions LIMIT 1"))
if (!@$db->db_query("SELECT server_kurzbz FROM system.tbl_extensions LIMIT 1"))
{
$qry = "ALTER TABLE system.tbl_extensions ADD COLUMN server_kurzbz varchar(64);
ALTER TABLE system.tbl_extensions ADD CONSTRAINT fk_extensios_server_kurzbz FOREIGN KEY (server_kurzbz) REFERENCES system.tbl_server(server_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;";
if(!$db->db_query($qry))
if (!$db->db_query($qry))
echo '<strong>App: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Neue Spalte server_kurzbz in system.tbl_extensions hinzugefügt';
}
// UNIQUE INDEX uidx_extensions_name_version_server
if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'uidx_extensions_name_version_server'"))
// UNIQUE INDEX uidx_extensions_name_version
if ($result = $db->db_query("SELECT COUNT(*) FROM pg_class WHERE relname = 'uidx_extensions_name_version'"))
{
if ($db->db_num_rows($result) == 1)
$countObj = $db->db_fetch_object($result);
// If exists then drop it
if ($countObj->count == '1')
{
$qry = 'DROP INDEX system.uidx_extensions_name_version';
if (!$db->db_query($qry))
echo '<strong>uidx_extensions_name_version_server '.$db->db_last_error().'</strong><br>';
echo '<strong>uidx_extensions_name_version '.$db->db_last_error().'</strong><br>';
else
echo '<br>Dropped unique uidx_extensions_name_version_server';
echo '<br>Dropped unique uidx_extensions_name_version';
}
$qry = 'CREATE UNIQUE INDEX uidx_extensions_name_version_server ON system.tbl_extensions USING btree (name, version, server_kurzbz);';
if (!$db->db_query($qry))
echo '<strong>uidx_extensions_name_version_server '.$db->db_last_error().'</strong><br>';
else
echo '<br>Created unique uidx_extensions_name_version_server';
// UNIQUE INDEX uidx_extensions_name_version_server
if ($result = $db->db_query("SELECT COUNT(*) FROM pg_class WHERE relname = 'uidx_extensions_name_version_server'"))
{
$countObj = $db->db_fetch_object($result);
// If does not exist then create it
if ($countObj->count == '0')
{
$qry = 'CREATE UNIQUE INDEX uidx_extensions_name_version_server ON system.tbl_extensions USING btree (name, version, server_kurzbz);';
if (!$db->db_query($qry))
echo '<strong>uidx_extensions_name_version_server '.$db->db_last_error().'</strong><br>';
else
echo '<br>Created unique uidx_extensions_name_version_server';
}
}
}