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';
+ }
+ }
}