, * Andreas Oesterreicher and * Rudolf Hangl . ****************************************************************************** * Beschreibung: * Dieses Skript prueft die gesamte Systemumgebung und sollte nach jedem Update gestartet werden. * Geprueft wird: - die Datenbank auf aktualitaet, dabei werden fehlende Attribute angelegt. * - Verzeichnisse (ob vorhanden und beschreibbar falls noetig). */ require_once('../config/system.config.inc.php'); require_once('../include/basis_db.class.php'); // Datenbank Verbindung $db = new basis_db(); echo '

Systemcheck!

'; echo '

DB-Updates!

'; // ********************** Pruefungen echo '

Pruefe Tabellen und Attribute!

'; if(!$result = @$db->db_query("SELECT aktiv FROM public.tbl_organisationseinheit LIMIT 1;")) { $qry = 'ALTER TABLE public.tbl_organisationseinheit ADD COLUMN aktiv boolean; UPDATE public.tbl_organisationseinheit SET aktiv=true; ALTER TABLE public.tbl_organisationseinheit ALTER COLUMN aktiv SET DEFAULT true; ALTER TABLE public.tbl_organisationseinheit ALTER COLUMN aktiv SET NOT NULL;'; if(!$db->db_query($qry)) echo 'public.tbl_organisationseinheit: '.$db->db_last_error().'
'; else echo ' public.tbl_organisationseinheit: Spalte aktiv hinzugefuegt!
'; } if(!$result = @$db->db_query("SELECT fachbereich FROM public.tbl_funktion LIMIT 1;")) { $qry = "ALTER TABLE public.tbl_funktion ADD COLUMN fachbereich boolean; UPDATE public.tbl_funktion SET fachbereich=false; ALTER TABLE public.tbl_funktion ALTER COLUMN fachbereich SET DEFAULT false; ALTER TABLE public.tbl_funktion ALTER COLUMN fachbereich SET NOT NULL; ALTER TABLE public.tbl_funktion ADD COLUMN semester boolean; UPDATE public.tbl_funktion SET semester=false; ALTER TABLE public.tbl_funktion ALTER COLUMN semester SET DEFAULT false; ALTER TABLE public.tbl_funktion ALTER COLUMN semester SET NOT NULL; UPDATE public.tbl_funktion SET semester=true WHERE funktion_kurzbz='stdv'; UPDATE public.tbl_funktion SET semester=true WHERE funktion_kurzbz='oeh-kandidatur'; UPDATE public.tbl_funktion SET fachbereich=true WHERE funktion_kurzbz='fbk'; UPDATE public.tbl_funktion SET fachbereich=true WHERE funktion_kurzbz='fbl'; UPDATE public.tbl_funktion SET fachbereich=true WHERE funktion_kurzbz='oezuordnung'; UPDATE public.tbl_benutzerfunktion SET oe_kurzbz='Systementwicklung' WHERE oe_kurzbz='Systementwicklg'; UPDATE public.tbl_benutzerfunktion SET oe_kurzbz='Unternehmenskommunikation' WHERE oe_kurzbz='Unternehmenskomm'; UPDATE public.tbl_organisationseinheit SET aktiv=false WHERE oe_kurzbz='Unternehmenskomm'; UPDATE public.tbl_fachbereich SET aktiv=false WHERE oe_kurzbz='Unternehmenskomm'; UPDATE public.tbl_organisationseinheit SET aktiv=false WHERE oe_kurzbz='Systementwicklg'; UPDATE public.tbl_fachbereich SET aktiv=false WHERE oe_kurzbz='Systementwicklg'; "; if(!$db->db_query($qry)) echo 'public.tbl_funktion: '.$db->db_last_error().'
'; else echo ' public.tbl_funktion: Spalte funktion und semester hinzugefuegt!
'; } if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE table_name='tbl_benutzerfunktion' AND constraint_name='organisationseinheit_benutzerfunktion'")) { if(!$row = $db->db_fetch_object($result)) { $qry = "UPDATE public.tbl_benutzerfunktion SET oe_kurzbz='etw' WHERE oe_kurzbz='0'; ALTER TABLE public.tbl_benutzerfunktion ADD CONSTRAINT organisationseinheit_benutzerfunktion FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit (oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;"; if(!$db->db_query($qry)) echo 'public.tbl_benutzerfunktion: '.$db->db_last_error().'
'; else echo ' public.tbl_benutzerfunktion: FK-Constraint zur tbl_organisationseinheit hinzugefuegt!
'; } } if(!@$db->db_query("SELECT bezeichnung FROM public.tbl_benutzerfunktion;")) { $qry = " -- Spalte Bezeichnung anlegen ALTER TABLE public.tbl_benutzerfunktion ADD COLUMN bezeichnung varchar(64); -- Bezeichnung fuellen UPDATE public.tbl_benutzerfunktion SET bezeichnung=(SELECT beschreibung FROM public.tbl_funktion WHERE funktion_kurzbz=tbl_benutzerfunktion.funktion_kurzbz); -- OE-Zuordnung und FBL auf OE umstellen UPDATE public.tbl_benutzerfunktion SET oe_kurzbz=(SELECT oe_kurzbz FROM public.tbl_fachbereich WHERE fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz) WHERE (tbl_benutzerfunktion.funktion_kurzbz='oezuordnung' OR tbl_benutzerfunktion.funktion_kurzbz='fbl') AND tbl_benutzerfunktion.fachbereich_kurzbz is not null; -- Funktionseintrag aktualisieren UPDATE public.tbl_funktion SET fachbereich=false WHERE (funktion_kurzbz='oezuordnung' OR funktion_kurzbz='fbl'); -- Fachbereich Feld leeren UPDATE public.tbl_benutzerfunktion SET fachbereich_kurzbz=null WHERE (funktion_kurzbz='oezuordnung' OR funktion_kurzbz='fbl'); -- Stg und Fbl auf Leiter aendern UPDATE public.tbl_benutzerfunktion SET funktion_kurzbz='Leitung' WHERE funktion_kurzbz='stgl' OR funktion_kurzbz='fbl'; -- Funktion stgl und fbl entfernen DELETE FROM public.tbl_funktion WHERE funktion_kurzbz='fbl' OR funktion_kurzbz='stgl'; "; if(!$db->db_query($qry)) echo 'public.tbl_benutzerfunktion: '.$db->db_last_error().'
'; else echo ' public.tbl_benutzerfunktion: bezeichnung hinzugefuegt, Stgl und Fbl durch Leitung ersetzt, oezuordnung korrigiert
'; } if($result = $db->db_query("Select count(*) as anzahl FROM pg_class WHERE relname ='idx_stundenplandev_lehreinheit_id'")) { if(!$row = $db->db_fetch_object($result)) { if($row->anzahl==0) { $qry = "CREATE INDEX idx_stundenplandev_lehreinheit_id ON lehre.tbl_stundenplandev (lehreinheit_id);"; if(!$db->db_query($qry)) echo 'lehre.tbl_stundenplandev: '.$db->db_last_error().'
'; else echo ' lehre.tbl_stundenplandev: Index auf lehreinheit_id angelegt!
'; } } } if($result = $db->db_query("Select count(*) as anzahl FROM pg_class WHERE relname ='idx_stundenplan_lehreinheit_id'")) { if(!$row = $db->db_fetch_object($result)) { if($row->anzahl==0) { $qry = "CREATE INDEX idx_stundenplan_lehreinheit_id ON lehre.tbl_stundenplan (lehreinheit_id);"; if(!$db->db_query($qry)) echo 'lehre.tbl_stundenplan: '.$db->db_last_error().'
'; else echo ' lehre.tbl_stundenplan: Index auf lehreinheit_id angelegt!
'; } } } if(!$result = @$db->db_query("SELECT * FROM bis.tbl_lgartcode LIMIT 1")) { $qry = ' CREATE TABLE bis.tbl_lgartcode ( "lgartcode" Integer NOT NULL, "kurzbz" Character varying(32), "bezeichnung" Character varying(256), "beantragung" Boolean NOT NULL ) WITH (OIDS=FALSE); ALTER TABLE public.tbl_studiengang ADD COLUMN lgartcode integer; ALTER TABLE "bis"."tbl_lgartcode" ADD CONSTRAINT "pk_tbl_lgartcode" PRIMARY KEY ("lgartcode"); ALTER TABLE "public"."tbl_studiengang" ADD CONSTRAINT "lgartcode_studiengang" FOREIGN KEY ("lgartcode") REFERENCES "bis"."tbl_lgartcode" ("lgartcode") ON DELETE RESTRICT ON UPDATE CASCADE; GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_lgartcode TO "admin"; GRANT SELECT ON bis.tbl_lgartcode TO "web"; INSERT INTO bis.tbl_lgartcode (lgartcode, kurzbz, bezeichnung, beantragung) VALUES(1, \'LG - MA; MBA\', \'LG zur Weiterbildung - MA; MBA\',true); INSERT INTO bis.tbl_lgartcode (lgartcode, kurzbz, bezeichnung, beantragung) VALUES(2, \'LG - akademische/r ...\', \'LG zur Weiterbildung - akademische/r ...\',true); INSERT INTO bis.tbl_lgartcode (lgartcode, kurzbz, bezeichnung, beantragung) VALUES(3, \'LG - sonstiger\', \'LG zur Weiterbildung - sonstiger\',false); '; if(!$db->db_query($qry)) echo 'bis.tbl_lgartcode: '.$db->db_last_error().'
'; else echo ' bis.tbl_lgartcode: Lehrgangsart hinzugefuegt!
'; } if(!$result = @$db->db_query("SELECT * FROM wawi.tbl_betriebsmittelperson LIMIT 1")) { $qry = " CREATE SCHEMA wawi; DROP VIEW public.vw_betriebsmittelperson; DROP TABLE campus.tbl_bmreservierung; ALTER TABLE public.tbl_betriebsmittel SET SCHEMA wawi; ALTER TABLE public.tbl_betriebsmittelperson SET SCHEMA wawi; ALTER TABLE public.tbl_betriebsmitteltyp SET SCHEMA wawi; ALTER TABLE wawi.tbl_betriebsmittel DROP COLUMN ort_kurzbz; ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN oe_kurzbz varchar(32); ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN ort_kurzbz varchar(16); ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN hersteller varchar(128); ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN seriennummer varchar(32); ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN bestellung_id bigint; ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN bestelldetail_id bigint; ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN afa smallint; ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN verwendung varchar(256); ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN anmerkung text; COMMENT ON COLUMN wawi.tbl_betriebsmittel.nummer IS 'Zutrittskartennummer, Inventarnummer, ...'; COMMENT ON COLUMN wawi.tbl_betriebsmittel.afa IS 'Jahre fuer die AfA'; COMMENT ON COLUMN wawi.tbl_betriebsmittel.nummerintern IS '2. Nummer fuer spezielle BM'; ALTER TABLE wawi.tbl_betriebsmittelperson ADD COLUMN betriebsmittelperson_id integer; CREATE SEQUENCE wawi.seq_betriebsmittelperson_betriebsmittelperson_id INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1 ; UPDATE wawi.tbl_betriebsmittelperson SET betriebsmittelperson_id=nextval('wawi.seq_betriebsmittelperson_betriebsmittelperson_id'); ALTER TABLE wawi.tbl_betriebsmittelperson DROP CONSTRAINT pk_tbl_betriebsmittelperson; ALTER TABLE wawi.tbl_betriebsmittelperson ADD CONSTRAINT pk_betriebsmittelperson PRIMARY KEY (betriebsmittelperson_id); ALTER TABLE wawi.tbl_betriebsmittelperson ALTER COLUMN betriebsmittelperson_id SET DEFAULT nextval('wawi.seq_betriebsmittelperson_betriebsmittelperson_id'); ALTER TABLE wawi.tbl_betriebsmitteltyp ADD COLUMN typ_code character(2); COMMENT ON COLUMN wawi.tbl_betriebsmitteltyp.typ_code IS 'Fuer Inventarnummerncode'; -- Table wawi.tbl_betriebsmittelstatus CREATE TABLE wawi.tbl_betriebsmittelstatus( betriebsmittelstatus_kurzbz Character varying(16) NOT NULL, beschreibung Character varying(256) ) WITH (OIDS=FALSE); -- Add keys for table wawi.tbl_betriebsmittelstatus ALTER TABLE wawi.tbl_betriebsmittelstatus ADD CONSTRAINT pk_betriebsmittelstatus PRIMARY KEY (betriebsmittelstatus_kurzbz); ALTER TABLE wawi.tbl_betriebsmittelstatus ADD CONSTRAINT betriebsmittelstatus_kurzbz UNIQUE (betriebsmittelstatus_kurzbz); -- Table tbl_betriebsmittel_betriebsmittelstatus CREATE TABLE wawi.tbl_betriebsmittel_betriebsmittelstatus( betriebsmittelbetriebsmittelstatus_id Serial NOT NULL, betriebsmittel_id Integer NOT NULL, betriebsmittelstatus_kurzbz Character varying(16) NOT NULL, datum date, anmerkung text, updateamum Timestamp, updatevon Character varying(32), insertamum Timestamp, insertvon Character varying(32) ) WITH (OIDS=FALSE); ALTER TABLE wawi.tbl_betriebsmittel ALTER COLUMN reservieren SET NOT NULL; ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN leasing_bis date; -- Add keys for table tbl_betriebsmittel_betriebsmittelstatus ALTER TABLE wawi.tbl_betriebsmittel_betriebsmittelstatus ADD CONSTRAINT pk_betriebsmittelbetriebsmittelstatus PRIMARY KEY (betriebsmittelbetriebsmittelstatus_id); GRANT SELECT, UPDATE, INSERT, DELETE ON wawi.tbl_betriebsmittel_betriebsmittelstatus TO admin; GRANT SELECT ON wawi.tbl_betriebsmittel_betriebsmittelstatus TO web; GRANT SELECT, UPDATE, INSERT, DELETE ON wawi.tbl_betriebsmittelstatus TO admin; GRANT SELECT ON wawi.tbl_betriebsmittelstatus TO web; GRANT USAGE ON SCHEMA wawi TO web; GRANT USAGE ON SCHEMA wawi TO admin; GRANT SELECT ON wawi.tbl_betriebsmittelperson TO web; CREATE OR REPLACE VIEW public.vw_betriebsmittelperson AS SELECT tbl_betriebsmittelperson.betriebsmittelperson_id, tbl_betriebsmittelperson.betriebsmittel_id, tbl_betriebsmittelperson.person_id, tbl_betriebsmittelperson.anmerkung, tbl_betriebsmittelperson.kaution, tbl_betriebsmittelperson.ausgegebenam, tbl_betriebsmittelperson.retouram, tbl_betriebsmittelperson.insertamum, tbl_betriebsmittelperson.insertvon, tbl_betriebsmittelperson.updateamum, tbl_betriebsmittelperson.updatevon, tbl_betriebsmittelperson.ext_id, tbl_betriebsmittel.beschreibung, tbl_betriebsmittel.betriebsmitteltyp, tbl_betriebsmittel.nummer, tbl_betriebsmittel.nummerintern, tbl_betriebsmittel.reservieren, tbl_betriebsmittel.ort_kurzbz, tbl_person.staatsbuergerschaft, tbl_person.geburtsnation, tbl_person.sprache, tbl_person.anrede, tbl_person.titelpost, tbl_person.titelpre, tbl_person.nachname, tbl_person.vorname, tbl_person.vornamen, tbl_person.gebdatum, tbl_person.gebort, tbl_person.gebzeit, tbl_person.foto, tbl_person.anmerkung AS anmerkungen, tbl_person.homepage, tbl_person.svnr, tbl_person.ersatzkennzeichen, tbl_person.familienstand, tbl_person.geschlecht, tbl_person.anzahlkinder, tbl_person.aktiv, tbl_benutzer.uid, tbl_benutzer.aktiv AS benutzer_aktiv, tbl_benutzer.alias FROM wawi.tbl_betriebsmittelperson JOIN wawi.tbl_betriebsmittel USING (betriebsmittel_id) JOIN public.tbl_person USING (person_id) LEFT JOIN public.tbl_benutzer USING (person_id); GRANT SELECT, UPDATE ON wawi.tbl_betriebsmittel_betriebsmi_betriebsmittelbetriebsmittels_seq TO web; GRANT SELECT, UPDATE ON wawi.tbl_betriebsmittel_betriebsmi_betriebsmittelbetriebsmittels_seq TO admin; GRANT SELECT ON public.vw_betriebsmittelperson TO web; GRANT SELECT ON public.vw_betriebsmittelperson TO admin; "; if(!$db->db_query($qry)) echo 'wawi: '.$db->db_last_error().'
'; else echo ' wawi schema und tabellen wurden angelegt!
'; } if($result = $db->db_query("SELECT is_nullable FROM information_schema.columns WHERE table_schema='public' AND table_name='tbl_studiengang' AND column_name='aktiv'")) { if($row = $db->db_fetch_object($result)) { if($row->is_nullable=='YES') { $qry = 'ALTER TABLE public.tbl_studiengang ALTER COLUMN aktiv SET NOT NULL; ALTER TABLE public.tbl_studiengang ALTER COLUMN testtool_sprachwahl SET NOT NULL;'; if(!$db->db_query($qry)) echo 'public.tbl_studiengang: '.$db->db_last_error().'
'; else echo 'public.tbl_studiengang: Spalte aktiv und testtool_sprachwahl wurde auf NN gesetzt!
'; } } } if(@$db->db_query("SELECT organisationsform FROM public.tbl_studiengang LIMIT 1")) { $qry = "ALTER TABLE public.tbl_studiengang DROP COLUMN organisationsform;"; if(!$db->db_query($qry)) echo 'public.tbl_studiengang: '.$db->db_last_error().'
'; else echo 'public.tbl_studiengang: Spalte organisationsform entfernt!
'; } echo '
'; $tabellen=array( "bis.tbl_ausbildung" => array("ausbildungcode","ausbildungbez","ausbildungbeschreibung"), "bis.tbl_berufstaetigkeit" => array("berufstaetigkeit_code","berufstaetigkeit_bez","berufstaetigkeit_kurzbz"), "bis.tbl_beschaeftigungsart1" => array("ba1code","ba1bez","ba1kurzbz"), "bis.tbl_beschaeftigungsart2" => array("ba2code","ba2bez"), "bis.tbl_beschaeftigungsausmass" => array("beschausmasscode","beschausmassbez","min","max"), "bis.tbl_besqual" => array("besqualcode","besqualbez"), "bis.tbl_bisfunktion" => array("bisverwendung_id","studiengang_kz","sws","updateamum","updatevon","insertamum","insertvon","ext_id"), "bis.tbl_bisio" => array("bisio_id","mobilitaetsprogramm_code","nation_code","von","bis","zweck_code","student_uid","updateamum","updatevon","insertamum","insertvon","ext_id","ort","universitaet","lehreinheit_id"), "bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"), "bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"), "bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"), "bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"), "bis.tbl_hauptberuf" => array("hauptberufcode","bezeichnung"), "bis.tbl_lgartcode" => array("lgartcode","kurzbz","bezeichnung","beantragung"), "bis.tbl_mobilitaetsprogramm" => array("mobilitaetsprogramm_code","kurzbz","beschreibung"), "bis.tbl_nation" => array("nation_code","entwicklungsstand","eu","ewr","kontinent","kurztext","langtext","engltext","sperre"), "bis.tbl_orgform" => array("orgform_kurzbz","code","bezeichnung","rolle"), "bis.tbl_verwendung" => array("verwendung_code","verwendungbez"), "bis.tbl_zgv" => array("zgv_code","zgv_bez","zgv_kurzbz"), "bis.tbl_zgvmaster" => array("zgvmas_code","zgvmas_bez","zgvmas_kurzbz"), "bis.tbl_zweck" => array("zweck_code","kurzbz","bezeichnung"), "campus.tbl_abgabe" => array("abgabe_id","abgabedatei","abgabezeit","anmerkung"), "campus.tbl_beispiel" => array("beispiel_id","uebung_id","nummer","bezeichnung","punkte","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_benutzerlvstudiensemester" => array("uid","studiensemester_kurzbz","lehrveranstaltung_id"), "campus.tbl_erreichbarkeit" => array("erreichbarkeit_kurzbz","beschreibung","farbe"), "campus.tbl_feedback" => array("feedback_id","betreff","text","datum","uid","lehrveranstaltung_id","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_legesamtnote" => array("student_uid","lehreinheit_id","note","benotungsdatum","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_lvgesamtnote" => array("lehrveranstaltung_id","studiensemester_kurzbz","student_uid","note","mitarbeiter_uid","benotungsdatum","freigabedatum","freigabevon_uid","bemerkung","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_lvinfo" => array("lehrveranstaltung_id","sprache","titel","lehrziele","lehrinhalte","methodik","voraussetzungen","unterlagen","pruefungsordnung","anmerkung","kurzbeschreibung","genehmigt","aktiv","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_news" => array("news_id","uid","studiengang_kz","fachbereich_kurzbz","semester","betreff","text","datum","verfasser","updateamum","updatevon","insertamum","insertvon","datum_bis"), "campus.tbl_newssprache" => array("sprache","news_id","betreff","text","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_notenschluessel" => array("lehreinheit_id","note","punkte"), "campus.tbl_notenschluesseluebung" => array("uebung_id","note","punkte"), "campus.tbl_paabgabetyp" => array("paabgabetyp_kurzbz","bezeichnung"), "campus.tbl_paabgabe" => array("paabgabe_id","projektarbeit_id","paabgabetyp_kurzbz","fixtermin","datum","kurzbz","abgabedatum", "insertvon","insertamum","updatevon","updateamum"), "campus.tbl_reservierung" => array("reservierung_id","ort_kurzbz","studiengang_kz","uid","stunde","datum","titel","beschreibung","semester","verband","gruppe","gruppe_kurzbz","veranstaltung_id"), "campus.tbl_resturlaub" => array("mitarbeiter_uid","resturlaubstage","mehrarbeitsstunden","updateamum","updatevon","insertamum","insertvon","urlaubstageprojahr"), "campus.tbl_studentbeispiel" => array("student_uid","beispiel_id","vorbereitet","probleme","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_studentuebung" => array("student_uid","mitarbeiter_uid","abgabe_id","uebung_id","note","mitarbeitspunkte","punkte","anmerkung","benotungsdatum","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_uebung" => array("uebung_id","gewicht","punkte","angabedatei","freigabevon","freigabebis","abgabe","beispiele","statistik","bezeichnung","positiv","defaultbemerkung","lehreinheit_id","maxstd","maxbsp","liste_id","prozent","nummer","updateamum","updatevon","insertamum","insertvon"), "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","studiengang_kz","fachbereich_kurzbz","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"), "fue.tbl_aktivitaet" => array("aktivitaet_kurzbz","beschreibung"), "fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende"), "fue.tbl_projektbenutzer" => array("projektbenutzer_id","uid","funktion_kurzbz","projekt_kurzbz"), "kommune.tbl_match" => array("match_id","team_sieger","wettbewerb_kurzbz","team_gefordert","team_forderer","gefordertvon","gefordertamum","matchdatumzeit","matchort","matchbestaetigtvon","matchbestaetigtamum","ergebniss","bestaetigtvon","bestaetigtamum"), "kommune.tbl_team" => array("team_kurzbz","bezeichnung","beschreibung","logo"), "kommune.tbl_teambenutzer" => array("uid","team_kurzbz"), "kommune.tbl_wettbewerb" => array("wettbewerb_kurzbz","regeln","forderungstage","teamgroesse","wbtyp_kurzbz","uid","icon"), "kommune.tbl_wettbewerbteam" => array("team_kurzbz","wettbewerb_kurzbz","rang","punkte"), "kommune.tbl_wettbewerbtyp" => array("wbtyp_kurzbz","bezeichnung","farbe"), "lehre.tbl_abschlussbeurteilung" => array("abschlussbeurteilung_kurzbz","bezeichnung"), "lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note"), "lehre.tbl_akadgrad" => array("akadgrad_id","akadgrad_kurzbz","studiengang_kz","titel","geschlecht"), "lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung"), "lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"), "lehre.tbl_lehreinheit" => array("lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","lehrfach_id","lehrform_kurzbz","stundenblockung","wochenrythmus","start_kw","raumtyp","raumtypalternativ","sprache","lehre","anmerkung","unr","lvnr","updateamum","updatevon","insertamum","insertvon","ext_id"), "lehre.tbl_lehreinheitgruppe" => array("lehreinheitgruppe_id","lehreinheit_id","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"), "lehre.tbl_lehreinheitmitarbeiter" => array("lehreinheit_id","mitarbeiter_uid","lehrfunktion_kurzbz","semesterstunden","planstunden","stundensatz","faktor","anmerkung","bismelden","updateamum","updatevon","insertamum","insertvon","ext_id"), "lehre.tbl_lehrfach" => array("lehrfach_id","studiengang_kz","fachbereich_kurzbz","kurzbz","bezeichnung","farbe","aktiv","semester","sprache","updateamum","updatevon","insertamum","insertvon","ext_id"), "lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen"), "lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor"), "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz"), "lehre.tbl_moodle" => array("lehrveranstaltung_id","lehreinheit_id","moodle_id","mdl_course_id","studiensemester_kurzbz","gruppen","insertamum","insertvon"), "lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe"), "lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe"), "lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache"), "lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id"), "lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung"), "lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id"), "lehre.tbl_pruefungstyp" => array("pruefungstyp_kurzbz","beschreibung","abschluss"), "lehre.tbl_stunde" => array("stunde","beginn","ende"), "lehre.tbl_stundenplan" => array("stundenplan_id","unr","mitarbeiter_uid","datum","stunde","ort_kurzbz","gruppe_kurzbz","titel","anmerkung","lehreinheit_id","studiengang_kz","semester","verband","gruppe","fix","updateamum","updatevon","insertamum","insertvon"), "lehre.tbl_stundenplandev" => array("stundenplandev_id","lehreinheit_id","unr","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","mitarbeiter_uid","ort_kurzbz","datum","stunde","titel","anmerkung","fix","updateamum","updatevon","insertamum","insertvon"), "lehre.tbl_zeitfenster" => array("wochentag","stunde","ort_kurzbz","studiengang_kz","gewicht"), "lehre.tbl_zeugnis" => array("zeugnis_id","student_uid","zeugnis","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id"), "lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_aufmerksamdurch" => array("aufmerksamdurch_kurzbz","beschreibung","ext_id"), "public.tbl_aufnahmeschluessel" => array("aufnahmeschluessel"), "public.tbl_bankverbindung" => array("bankverbindung_id","person_id","name","anschrift","bic","blz","iban","kontonr","typ","verrechnung","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_benutzer" => array("uid","person_id","aktiv","alias","insertamum","insertvon","updateamum","updatevon","ext_id","updateaktivvon","updateaktivam"), "public.tbl_benutzerfunktion" => array("benutzerfunktion_id","fachbereich_kurzbz","uid","oe_kurzbz","funktion_kurzbz","semester", "datum_von","datum_bis", "updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung"), "public.tbl_benutzergruppe" => array("uid","gruppe_kurzbz","studiensemester_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_berechtigung" => array("berechtigung_kurzbz","beschreibung"), "public.tbl_buchungstyp" => array("buchungstyp_kurzbz","beschreibung","standardbetrag","standardtext"), "public.tbl_dokument" => array("dokument_kurzbz","bezeichnung","ext_id"), "public.tbl_dokumentprestudent" => array("dokument_kurzbz","prestudent_id","mitarbeiter_uid","datum","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_dokumentstudiengang" => array("dokument_kurzbz","studiengang_kz","ext_id"), "public.tbl_erhalter" => array("erhalter_kz","kurzbz","bezeichnung","dvr","logo","zvr"), "public.tbl_fachbereich" => array("fachbereich_kurzbz","bezeichnung","farbe","studiengang_kz","aktiv","ext_id","oe_kurzbz"), "public.tbl_firma" => array("firma_id","name","adresse","email","telefon","fax","anmerkung","firmentyp_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id","schule"), "public.tbl_firmentyp" => array("firmentyp_kurzbz","beschreibung"), "public.tbl_funktion" => array("funktion_kurzbz","beschreibung","aktiv","fachbereich","semester"), "public.tbl_gruppe" => array("gruppe_kurzbz","studiengang_kz","semester","bezeichnung","beschreibung","sichtbar","lehre","aktiv","sort","mailgrp","generiert","updateamum","updatevon","insertamum","insertvon","ext_id","orgform_kurzbz"), "public.tbl_kontakt" => array("kontakt_id","person_id","firma_id","kontakttyp","anmerkung","kontakt","zustellung","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_kontaktmedium" => array("kontaktmedium_kurzbz","beschreibung"), "public.tbl_kontakttyp" => array("kontakttyp","beschreibung"), "public.tbl_konto" => array("buchungsnr","person_id","studiengang_kz","studiensemester_kurzbz","buchungstyp_kurzbz","buchungsnr_verweis","betrag","buchungsdatum","buchungstext","mahnspanne","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_lehrverband" => array("studiengang_kz","semester","verband","gruppe","aktiv","bezeichnung","ext_id","orgform_kurzbz"), "public.tbl_log" => array("log_id","executetime","mitarbeiter_uid","beschreibung","sql","sqlundo"), "public.tbl_mitarbeiter" => array("mitarbeiter_uid","personalnummer","telefonklappe","kurzbz","lektor","fixangestellt","bismelden","stundensatz","ausbildungcode","ort_kurzbz","standort_kurzbz","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id"), "public.tbl_ort" => array("ort_kurzbz","bezeichnung","planbezeichnung","max_person","lehre","reservieren","aktiv","lageplan","dislozierung","kosten","ausstattung","updateamum","updatevon","insertamum","insertvon","ext_id","stockwerk","standort_kurzbz","telefonklappe"), "public.tbl_ortraumtyp" => array("ort_kurzbz","hierarchie","raumtyp_kurzbz"), "public.tbl_organisationseinheit" => array("oe_kurzbz", "oe_parent_kurzbz", "bezeichnung","organisationseinheittyp_kurzbz", "aktiv"), "public.tbl_organisationseinheittyp" => array("organisationseinheittyp_kurzbz", "bezeichnung", "beschreibung"), "public.tbl_person" => array("person_id","staatsbuergerschaft","geburtsnation","sprache","anrede","titelpost","titelpre","nachname","vorname","vornamen","gebdatum","gebort","gebzeit","foto","anmerkung","homepage","svnr","ersatzkennzeichen","familienstand","geschlecht","anzahlkinder","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","bundesland_code","kompetenzen","kurzbeschreibung"), "public.tbl_personfunktionfirma" => array("personfunktionfirma_id","funktion_kurzbz","person_id","firma_id","position","anrede"), "public.tbl_preinteressent" => array("preinteressent_id","person_id","studiensemester_kurzbz","firma_id","erfassungsdatum","einverstaendnis","absagedatum","anmerkung","maturajahr","infozusendung","aufmerksamdurch_kurzbz","kontaktmedium_kurzbz","insertamum","insertvon","updateamum","updatevon"), "public.tbl_preinteressentstudiengang" => array("studiengang_kz","preinteressent_id","freigabedatum","uebernahmedatum","prioritaet","insertamum","insertvon","updateamum","updatevon"), "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id"), "public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id"), "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung"), "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"), "public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"), "public.tbl_sprache" => array("sprache","locale","flagge"), "public.tbl_standort" => array("standort_kurzbz","adresse_id"), "public.tbl_student" => array("student_uid","matrikelnr","prestudent_id","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_studentlehrverband" => array("student_uid","studiensemester_kurzbz","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode"), "public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","ext_id"), "public.tbl_variable" => array("name","uid","wert"), "public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung"), "public.tbl_vorlagestudiengang" => array("vorlage_kurzbz","studiengang_kz","version","text"), "sync.tbl_zutrittskarte" => array("key","name","firstname","groupe","logaswnumber","physaswnumber","validstart","validend","text1","text2","text3","text4","text5","text6","pin"), "testtool.tbl_ablauf" => array("ablauf_id","gebiet_id","studiengang_kz","reihung","gewicht","semester", "insertamum","insertvon","updateamum", "updatevon"), "testtool.tbl_antwort" => array("antwort_id","pruefling_id","vorschlag_id"), "testtool.tbl_frage" => array("frage_id","kategorie_kurzbz","gebiet_id","level","nummer","demo","insertamum","insertvon","updateamum","updatevon"), "testtool.tbl_gebiet" => array("gebiet_id","kurzbz","bezeichnung","beschreibung","zeit","multipleresponse","kategorien","maxfragen","zufallfrage","zufallvorschlag","levelgleichverteilung","maxpunkte","insertamum", "insertvon", "updateamum", "updatevon", "level_start","level_sprung_auf","level_sprung_ab","antwortenprozeile"), "testtool.tbl_kategorie" => array("kategorie_kurzbz","gebiet_id"), "testtool.tbl_kriterien" => array("gebiet_id","kategorie_kurzbz","punkte","typ"), "testtool.tbl_pruefling" => array("pruefling_id","prestudent_id","studiengang_kz","idnachweis","registriert","semester"), "testtool.tbl_vorschlag" => array("vorschlag_id","frage_id","nummer","punkte","insertamum","insertvon","updateamum","updatevon"), "testtool.tbl_pruefling_frage" => array("prueflingfrage_id","pruefling_id","frage_id","nummer","begintime","endtime"), "testtool.tbl_frage_sprache" => array("frage_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"), "testtool.tbl_vorschlag_sprache" => array("vorschlag_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"), "system.tbl_benutzerrolle" => array("benutzerberechtigung_id","rolle_kurzbz","berechtigung_kurzbz","uid","funktion_kurzbz","oe_kurzbz","art","studiensemester_kurzbz","start","ende","negativ","updateamum", "updatevon","insertamum","insertvon"), "system.tbl_rolle" => array("rolle_kurzbz","beschreibung"), "system.tbl_rolleberechtigung" => array("berechtigung_kurzbz","rolle_kurzbz","art"), "system.tbl_berechtigung" => array("berechtigung_kurzbz","beschreibung"), "wawi.tbl_betriebsmittelperson" => array("betriebsmittelperson_id","betriebsmittel_id","person_id", "anmerkung", "kaution", "ausgegebenam", "retouram","insertamum", "insertvon","updateamum", "updatevon","ext_id"), "wawi.tbl_betriebsmittel" => array("betriebsmittel_id","betriebsmitteltyp","oe_kurzbz", "ort_kurzbz", "beschreibung", "nummer", "hersteller","seriennummer", "bestellung_id","bestelldetail_id", "afa","verwendung","anmerkung","reservieren","updateamum","updatevon","insertamum","insertvon","ext_id","nummerintern","leasing_bis"), "wawi.tbl_betriebsmittel_betriebsmittelstatus" => array("betriebsmittelbetriebsmittelstatus_id","betriebsmittel_id","betriebsmittelstatus_kurzbz", "datum", "updateamum", "updatevon", "insertamum", "insertvon","anmerkung"), "wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"), "wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code"), ); $tabs=array_keys($tabellen); //print_r($tabs); $i=0; foreach ($tabellen AS $attribute) { $sql_attr=''; foreach($attribute AS $attr) $sql_attr.=$attr.','; $sql_attr=substr($sql_attr, 0, -1); if (!@$db->db_query('SELECT '.$sql_attr.' FROM '.$tabs[$i].' LIMIT 1;')) echo '
'.$tabs[$i].': '.$db->db_last_error().'
'; else echo $tabs[$i].': OK - '; flush(); $i++; } echo '

Gegenpruefung!

'; $sql_query="SELECT schemaname,tablename FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema' AND schemaname != 'sync';"; if (!$result=@$db->db_query($sql_query)) echo '
'.$db->db_last_error().'
'; else while ($row=$db->db_fetch_object($result)) { $fulltablename=$row->schemaname.'.'.$row->tablename; if (!isset($tabellen[$fulltablename])) echo 'Tabelle '.$fulltablename.' existiert in der DB, aber nicht in diesem Skript!
'; else if (!$result_fields=@$db->db_query("SELECT * FROM $fulltablename LIMIT 1;")) echo '
'.$db->db_last_error().'
'; else for ($i=0; $i<$db->db_num_fields($result_fields); $i++) { $found=false; $fieldnameDB=$db->db_field_name($result_fields,$i); foreach ($tabellen[$fulltablename] AS $fieldnameARRAY) if ($fieldnameDB==$fieldnameARRAY) { $found=true; break; } if (!$found) echo 'Attribut '.$fulltablename.'.'.$fieldnameDB.' existiert in der DB, aber nicht in diesem Skript!
'; } } ?>