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 '