From 6574af6518476c2136b70f8105215c02cb0d0812 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Thu, 16 Jun 2016 12:10:11 +0200 Subject: [PATCH] DB add tables for phrases --- application/migrations/009_phrase.php | 85 +++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100755 application/migrations/009_phrase.php diff --git a/application/migrations/009_phrase.php b/application/migrations/009_phrase.php new file mode 100755 index 000000000..708f1e6b6 --- /dev/null +++ b/application/migrations/009_phrase.php @@ -0,0 +1,85 @@ +db->table_exists('public.tbl_phrase')) + { + $this->db->insert('system.tbl_berechtigung', array( + 'berechtigung_kurzbz' => 'basis/phrase', + 'beschreibung' => 'Phrase System')); + $this->db->insert('system.tbl_rolleberechtigung', array( + 'berechtigung_kurzbz' => 'basis/phrase', + 'rolle_kurzbz' => 'admin', + 'art' => 'suid')); + + $query= " + CREATE TABLE public.tbl_app ( + app varchar(32), + PRIMARY KEY (app) + ); + GRANT SELECT ON TABLE public.tbl_app TO web; + GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.tbl_app TO admin; + GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.tbl_app TO vilesci; + + CREATE TABLE public.tbl_phrase ( + phrase_id serial, + app varchar(32) NOT NULL, + phrase varchar(64) NOT NULL, + insertamum timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + insertvon varchar(32), + PRIMARY KEY (phrase_id) + ); + GRANT SELECT ON TABLE public.tbl_phrase TO web; + GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.tbl_phrase TO admin; + GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.tbl_phrase TO vilesci; + GRANT SELECT, UPDATE ON SEQUENCE public.tbl_phrase_phrase_id_seq TO web; + GRANT SELECT, UPDATE ON SEQUENCE public.tbl_phrase_phrase_id_seq TO admin; + GRANT SELECT, UPDATE ON SEQUENCE public.tbl_phrase_phrase_id_seq TO vilesci; + + CREATE TABLE public.tbl_phrase_inhalt ( + phrase_inhalt_id serial, + phrase_id bigint NOT NULL, + sprache varchar(32) NOT NULL, + orgeinheit_kurzbz varchar(32) NOT NULL, + orgform_kurzbz varchar(32) NOT NULL, + text text, + insertamum timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + insertvon varchar(32), + PRIMARY KEY (phrase_inhalt_id) + ); + GRANT SELECT ON TABLE public.tbl_phrase_inhalt TO web; + GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.tbl_phrase_inhalt TO admin; + GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.tbl_phrase_inhalt TO vilesci; + GRANT SELECT, UPDATE ON SEQUENCE public.tbl_phrase_inhalt_phrase_inhalt_id_seq TO web; + GRANT SELECT, UPDATE ON SEQUENCE public.tbl_phrase_inhalt_phrase_inhalt_id_seq TO admin; + GRANT SELECT, UPDATE ON SEQUENCE public.tbl_phrase_inhalt_phrase_inhalt_id_seq TO vilesci; + "; + if (!$this->db->simple_query($query)) + { + echo "Error creating Basis DB-Schema!"; + } + } + } + + public function down() + { + try + { + $this->db->delete('system.tbl_rolleberechtigung', array('berechtigung_kurzbz' => 'basis/phrase')); + $this->db->delete('system.tbl_berechtigung', array('berechtigung_kurzbz' => 'basis/phrase')); + $this->dbforge->drop_table('public.tbl_phrase_inhalt'); + $this->dbforge->drop_table('public.tbl_phrase'); + $this->dbforge->drop_table('public.tbl_app'); + echo "Table public.tbl_phrase_inhalt, public.tbl_phrase and public.tbl_app dropped!"; + } + catch(Exception $e) + { + echo 'Exception abgefangen: ', $e->getMessage(), "\n"; + echo $this->db->error(); + } + } +}