diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index bc8152a90..2631b64c8 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -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 '

Pruefe Tabellen und Attribute!

'; diff --git a/system/dbupdate_3.4/13011_installation_on_multiple_servers.php b/system/dbupdate_3.4/13011_installation_on_multiple_servers.php index 24c496457..22f8b20f9 100644 --- a/system/dbupdate_3.4/13011_installation_on_multiple_servers.php +++ b/system/dbupdate_3.4/13011_installation_on_multiple_servers.php @@ -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 'App: '.$db->db_last_error().'
'; else echo '
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 'uidx_extensions_name_version_server '.$db->db_last_error().'
'; + echo 'uidx_extensions_name_version '.$db->db_last_error().'
'; else - echo '
Dropped unique uidx_extensions_name_version_server'; + echo '
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 'uidx_extensions_name_version_server '.$db->db_last_error().'
'; - else - echo '
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 'uidx_extensions_name_version_server '.$db->db_last_error().'
'; + else + echo '
Created unique uidx_extensions_name_version_server'; + } + } }