diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ac5f5fdba..08141c744 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -2938,6 +2938,86 @@ if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM bis.tbl_orgfo } } +// Create SEQUENCE tbl_zeitaufzeichnung_gd_id +if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'tbl_zeitaufzeichnung_gd_id_seq'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = ' + CREATE SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + '; + if (!$db->db_query($qry)) + echo 'campus.tbl_zeitaufzeichnung_gd_id_seq '.$db->db_last_error().'
'; + else + echo '
Created sequence: campus.tbl_zeitaufzeichnung_gd_id_seq'; + + // GRANT SELECT, UPDATE ON SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq TO web; + $qry = 'GRANT SELECT, UPDATE ON SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq TO web;'; + if (!$db->db_query($qry)) + echo 'campus.tbl_zeitaufzeichnung_gd_id_seq '.$db->db_last_error().'
'; + else + echo '
Granted privileges to vilesci on campus.tbl_zeitaufzeichnung_gd_id_seq'; + + // GRANT SELECT, UPDATE ON SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq TO vilesci; + $qry = 'GRANT SELECT, UPDATE ON SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq TO vilesci;'; + if (!$db->db_query($qry)) + echo 'campus.tbl_zeitaufzeichnung_gd_id_seq '.$db->db_last_error().'
'; + else + echo '
Granted privileges to vilesci on campus.tbl_zeitaufzeichnung_gd_id_seq'; + } +} + +// Create TABLE campus.tbl_zeitaufzeichnung_gd +if(!@$db->db_query("SELECT 0 FROM campus.tbl_zeitaufzeichnung_gd WHERE 0 = 1")) { + $qry = ' + CREATE TABLE campus.tbl_zeitaufzeichnung_gd + ( + zeitaufzeichnung_gd_id integer NOT NULL DEFAULT NEXTVAL(\'campus.tbl_zeitaufzeichnung_gd_id_seq\'::regclass), + uid varchar(32) NOT NULL, + studiensemester_kurzbz varchar(16) NOT NULL, + selbstverwaltete_pause boolean NOT NULL, + insertamum TIMESTAMP DEFAULT NOW(), + insertvon varchar(32), + updateamum TIMESTAMP, + updatevon varchar(32) + ); + + ALTER TABLE campus.tbl_zeitaufzeichnung_gd ADD CONSTRAINT pk_zeitaufzeichnung_gd_zeitaufzeichnung_gd_id PRIMARY KEY (zeitaufzeichnung_gd_id); + + ALTER TABLE campus.tbl_zeitaufzeichnung_gd ADD CONSTRAINT fk_zeitaufzeichnung_gd_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON UPDATE CASCADE ON DELETE RESTRICT; + ALTER TABLE campus.tbl_zeitaufzeichnung_gd ADD CONSTRAINT fk_zeitaufzeichnung_gd_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + + COMMENT ON TABLE campus.tbl_zeitaufzeichnung_gd IS \'Table to manage the lectors parted working times; gd = Geteilte Dienste\'; + COMMENT ON COLUMN campus.tbl_zeitaufzeichnung_gd.selbstverwaltete_pause IS \'Lectors (dis-)agreement to self-manage breaks\'; + + '; + if (!$db->db_query($qry)) + echo 'campus.tbl_zeitaufzeichnung_gd ' . $db->db_last_error() . '
'; + else + echo '
Created table campus.tbl_zeitaufzeichnung_gd'; + + + // GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE campus.tbl_zeitaufzeichnung_gd TO web; + $qry = 'GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE campus.tbl_zeitaufzeichnung_gd TO web;'; + if (!$db->db_query($qry)) + echo 'campus.tbl_zeitaufzeichnung_gd ' . $db->db_last_error() . '
'; + else + echo '
Granted privileges to web on campus.tbl_zeitaufzeichnung_gd'; + + // GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE campus.tbl_zeitaufzeichnung_gd TO vilesci; + $qry = 'GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE campus.tbl_zeitaufzeichnung_gd TO vilesci;'; + if (!$db->db_query($qry)) + echo 'campus.tbl_zeitaufzeichnung_gd ' . $db->db_last_error() . '
'; + else + echo '
Granted privileges to vilesci on campus.tbl_zeitaufzeichnung_gd'; + +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -3022,6 +3102,7 @@ $tabellen=array( "campus.tbl_veranstaltung" => array("veranstaltung_id","titel","beschreibung","veranstaltungskategorie_kurzbz","inhalt","start","ende","freigabevon","freigabeamum","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_veranstaltungskategorie" => array("veranstaltungskategorie_kurzbz","bezeichnung","bild","farbe"), "campus.tbl_zeitaufzeichnung" => array("zeitaufzeichnung_id","uid","aktivitaet_kurzbz","projekt_kurzbz","start","ende","beschreibung","oe_kurzbz_1","oe_kurzbz_2","insertamum","insertvon","updateamum","updatevon","ext_id","service_id","kunde_uid"), + "campus.tbl_zeitaufzeichnung_gd" => array("zeitaufzeichnung_gd_id","uid","studiensemester_kurzbz","selbstverwaltete_pause","insertamum","insertvon","updateamum","updatevon"), "campus.tbl_zeitsperre" => array("zeitsperre_id","zeitsperretyp_kurzbz","mitarbeiter_uid","bezeichnung","vondatum","vonstunde","bisdatum","bisstunde","vertretung_uid","updateamum","updatevon","insertamum","insertvon","erreichbarkeit_kurzbz","freigabeamum","freigabevon"), "campus.tbl_zeitsperretyp" => array("zeitsperretyp_kurzbz","beschreibung","farbe"), "campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon"),