diff --git a/application/core/DB_Model.php b/application/core/DB_Model.php index be9e39082..bcc45ff17 100644 --- a/application/core/DB_Model.php +++ b/application/core/DB_Model.php @@ -29,18 +29,16 @@ class DB_Model extends FHC_Model /** * Constructor */ - public function __construct($dbTable = null, $pk = null, $hasSequence = true) + public function __construct($dbtype = 'default') { // Call parent constructor parent::__construct(); // Set properties - $this->pk = $pk; - $this->dbTable = $dbTable; - $this->hasSequence = $hasSequence; + $this->hasSequence = true; // Loads DB conns and confs - $this->load->database(); + $this->load->database($dbtype); // Loads the UDF library $this->load->library('UDFLib'); diff --git a/application/models/system/Extensions_model.php b/application/models/system/Extensions_model.php index c93817040..0792732d8 100644 --- a/application/models/system/Extensions_model.php +++ b/application/models/system/Extensions_model.php @@ -7,7 +7,7 @@ class Extensions_model extends DB_Model */ public function __construct() { - parent::__construct(); + parent::__construct('system'); $this->dbTable = 'system.tbl_extensions'; $this->pk = 'extension_id'; } diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 07dd57b45..a9db58f41 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1768,84 +1768,9 @@ if($result = @$db->db_query("SELECT * FROM system.tbl_filters WHERE filter_kurzb } } -/** Budget **/ -if (!$result = @$db->db_query("SELECT 1 FROM wawi.tbl_budgetantrag LIMIT 1")) +if (!$result = @$db->db_query("SELECT projekt_id FROM fue.tbl_projekt LIMIT 1")) { - $qry = "CREATE TABLE wawi.tbl_budgetantrag - ( - budgetantrag_id integer NOT NULL, - kostenstelle_id integer NOT NULL, - geschaeftsjahr_kurzbz varchar(32) NOT NULL, - bezeichnung varchar(256), - insertamum timestamp DEFAULT now(), - insertvon varchar(32), - updateamum timestamp, - updatevon varchar(32) - ); - COMMENT ON TABLE wawi.tbl_budgetantrag IS 'Budget Requests'; - - ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT pk_tbl_budgetantrag PRIMARY KEY (budgetantrag_id); - - CREATE SEQUENCE wawi.tbl_budgetantrag_budgetantrag_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - ALTER TABLE wawi.tbl_budgetantrag ALTER COLUMN budgetantrag_id SET DEFAULT nextval(' wawi.tbl_budgetantrag_budgetantrag_id_seq'); - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; - GRANT SELECT, UPDATE ON wawi.tbl_budgetantrag_budgetantrag_id_seq TO vilesci; - - ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT fk_budgetantrag_kostenstelle_id FOREIGN KEY (kostenstelle_id) REFERENCES wawi.tbl_kostenstelle(kostenstelle_id) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT fk_budgetantrag_geschaeftsjahr_kurzbz FOREIGN KEY (geschaeftsjahr_kurzbz) REFERENCES public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - - CREATE TABLE wawi.tbl_budgetstatus - ( - budgetstatus_kurzbz varchar(32) NOT NULL, - bezeichnung varchar(128) - ); - COMMENT ON TABLE wawi.tbl_budgetstatus IS 'Key Table of Budget Request Statuses'; - - ALTER TABLE wawi.tbl_budgetstatus ADD CONSTRAINT pk_tbl_budgetstatus PRIMARY KEY (budgetstatus_kurzbz); - - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('new','Neu'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('sent','Abgeschickt'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('approved','Freigegeben'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('accepted','Akzeptiert'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('rejected','Abgelehnt'); - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; - - CREATE TABLE wawi.tbl_budgetantrag_status - ( - budgetantrag_status_id integer NOT NULL, - budgetantrag_id integer NOT NULL, - budgetstatus_kurzbz varchar(32) NOT NULL, - datum timestamp NOT NULL, - uid varchar(32), - oe_kurzbz varchar(32), - insertamum timestamp DEFAULT now(), - insertvon varchar(32) - ); - COMMENT ON TABLE wawi.tbl_budgetantrag_status IS 'Statuses of Budget Requests'; - - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT pk_tbl_budgetantrag_status PRIMARY KEY (budgetantrag_status_id); - - CREATE SEQUENCE wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - ALTER TABLE wawi.tbl_budgetantrag_status ALTER COLUMN budgetantrag_status_id SET DEFAULT nextval(' wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq'); - - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_budgetstatus_kurzbz FOREIGN KEY (budgetstatus_kurzbz) REFERENCES wawi.tbl_budgetstatus(budgetstatus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; - GRANT SELECT, UPDATE ON wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq TO vilesci; - - CREATE SEQUENCE fue.tbl_projekt_projekt_id_seq + $qry = "CREATE SEQUENCE fue.tbl_projekt_projekt_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE @@ -1853,47 +1778,29 @@ if (!$result = @$db->db_query("SELECT 1 FROM wawi.tbl_budgetantrag LIMIT 1")) GRANT SELECT, UPDATE ON fue.tbl_projekt_projekt_id_seq TO vilesci; ALTER TABLE fue.tbl_projekt ADD COLUMN projekt_id integer NOT NULL DEFAULT nextval('fue.tbl_projekt_projekt_id_seq'); ALTER TABLE fue.tbl_projekt ADD CONSTRAINT uk_tbl_projekt_projekt_id UNIQUE (projekt_id); - - CREATE TABLE wawi.tbl_budgetposition - ( - budgetposition_id integer NOT NULL, - budgetantrag_id integer NOT NULL, - budgetposten varchar(512), - konto_id integer, - betrag numeric(12,4), - kommentar text, - projekt_id integer, - insertamum timestamp, - insertvon varchar(32), - updateamum timestamp, - updatevon varchar(32) - ); - - COMMENT ON TABLE wawi.tbl_budgetposition IS 'Budget position'; - - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT pk_tbl_budgetposition PRIMARY KEY (budgetposition_id); - - CREATE SEQUENCE wawi.tbl_budgetposition_budgetposition_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - ALTER TABLE wawi.tbl_budgetposition ALTER COLUMN budgetposition_id SET DEFAULT nextval(' wawi.tbl_budgetposition_budgetposition_id_seq'); - - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_budgetantrag_id FOREIGN KEY (budgetantrag_id) REFERENCES wawi.tbl_budgetantrag(budgetantrag_id) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_konto_id FOREIGN KEY (konto_id) REFERENCES wawi.tbl_konto(konto_id) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_projekt_id FOREIGN KEY (projekt_id) REFERENCES fue.tbl_projekt(projekt_id) ON UPDATE CASCADE ON DELETE RESTRICT; - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetposition TO vilesci; - GRANT SELECT, UPDATE ON wawi.tbl_budgetposition_budgetposition_id_seq TO vilesci; "; - if(!$db->db_query($qry)) - echo 'Budget: '.$db->db_last_error().'
'; + if (!$db->db_query($qry)) + echo 'Projekt: '.$db->db_last_error().'
'; else - echo '
Neue Tabellen fuer Budgetantrag in Schema wawi hinzugefuegt'; + echo '
Neue Spalte projekt_id für fue.tbl_projekt hinzugefügt'; } +// Extension Schema +if ($result = $db->db_query("SELECT schema_name FROM information_schema.schemata WHERE schema_name='extension'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = "CREATE SCHEMA extension; + COMMENT ON SCHEMA extension is 'Extension Tables';"; + + if (!$db->db_query($qry)) + echo 'Extension: '.$db->db_last_error().'
'; + else + echo '
Neues Schema extension hinzugefuegt'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -2161,11 +2068,6 @@ $tabellen=array( "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","mastershapename"), - "wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"), - "wawi.tbl_budgetantrag" => array("budgetantrag_id","kostenstelle_id","geschaeftsjahr_kurzbz","bezeichnung","insertamum","insertvon","updateamum","updatevon"), - "wawi.tbl_budgetantrag_status" => array("budgetantrag_status_id","budgetantrag_id","budgetstatus_kurzbz","datum","uid","oe_kurzbz","insertamum","insertvon"), - "wawi.tbl_budgetstatus" => array("budgetstatus_kurzbz","bezeichnung"), - "wawi.tbl_budgetposition" => array("budgetposition_id","budgetantrag_id","budgetposten","konto_id","betrag","kommentar","projekt_id","insertamum","insertvon","updateamum","updatevon"), "wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"), "wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id"), "wawi.tbl_konto_kostenstelle" => array("konto_id","kostenstelle_id","insertamum","insertvon"),