summaryrefslogtreecommitdiffstats
path: root/admin/survey/modules/mod_hierarhija/db_hirarhija_create.sql
diff options
context:
space:
mode:
Diffstat (limited to 'admin/survey/modules/mod_hierarhija/db_hirarhija_create.sql')
-rw-r--r--admin/survey/modules/mod_hierarhija/db_hirarhija_create.sql190
1 files changed, 190 insertions, 0 deletions
diff --git a/admin/survey/modules/mod_hierarhija/db_hirarhija_create.sql b/admin/survey/modules/mod_hierarhija/db_hirarhija_create.sql
new file mode 100644
index 0000000..b7c3682
--- /dev/null
+++ b/admin/survey/modules/mod_hierarhija/db_hirarhija_create.sql
@@ -0,0 +1,190 @@
+# Vse tabele, ki so potrebne za modul mod_hierarhija
+
+#Hierarhija admin nivo - izgradnja nivojev in šifrantov
+CREATE TABLE srv_hierarhija_ravni (
+ id integer NOT NULL auto_increment,
+ anketa_id INTEGER NOT NULL,
+ user_id INTEGER NOT NULL,
+ level TINYINT NULL DEFAULT NULL,
+ ime VARCHAR(255) NULL DEFAULT NULL,
+ PRIMARY KEY (id),
+ FOREIGN KEY (anketa_id) REFERENCES srv_anketa (id) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE srv_hierarhija_sifranti (
+ id integer NOT NULL auto_increment,
+ hierarhija_ravni_id INTEGER NOT NULL,
+ ime VARCHAR(255) NULL DEFAULT NULL,
+ PRIMARY KEY (id),
+ FOREIGN KEY (hierarhija_ravni_id) REFERENCES srv_hierarhija_ravni (id) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE srv_hierarhija_users (
+ user_id INTEGER NOT NULL,
+ type TINYINT NULL DEFAULT 10
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+
+# Hierarhija uporabniki, kjer se zgradi struktura
+CREATE TABLE srv_hierarhija_struktura (
+ id INTEGER NOT NULL auto_increment,
+ hierarhija_ravni_id INTEGER NOT NULL,
+ parent_id INTEGER DEFAULT NULL,
+ hierarhija_sifranti_id INTEGER NOT NULL,
+ level TINYINT NOT NULL,
+ PRIMARY KEY (id),
+ FOREIGN KEY (hierarhija_ravni_id) REFERENCES srv_hierarhija_ravni (id) ON DELETE CASCADE,
+ FOREIGN KEY (parent_id) REFERENCES srv_hierarhija_struktura (id) ON DELETE CASCADE,
+ FOREIGN KEY (hierarhija_sifranti_id) REFERENCES srv_hierarhija_sifranti (id) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE srv_hierarhija_struktura_users (
+ hierarhija_struktura_id INTEGER NOT NULL,
+ user_id INTEGER NOT NULL,
+ FOREIGN KEY (hierarhija_struktura_id) REFERENCES srv_hierarhija_struktura (id) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+#Pivot table srv_hierarhija in srv_vrednost
+CREATE TABLE srv_hierarhija_sifrant_vrednost (
+ sifrant_id INTEGER NOT NULL,
+ vrednost_id INTEGER NOT NULL,
+ FOREIGN KEY (sifrant_id) REFERENCES srv_hierarhija_sifranti (id) ON DELETE CASCADE,
+ FOREIGN KEY (vrednost_id) REFERENCES srv_vrednost (id) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+#Pivot table srv_hierarhija in srv_vrednost
+#ALTER TABLE srv_hierarhija_struktura CHANGE hidden hidden ENUM('0','1','2') NOT NULL DEFAULT '0';
+
+ALTER TABLE srv_hierarhija_struktura
+ ADD COLUMN anketa_id INTEGER NOT NULL AFTER id,
+ ADD FOREIGN KEY (anketa_id) REFERENCES srv_anketa (id) ON DELETE CASCADE;
+
+# Dodamo možnost unikaten, da upošteva samo unikatne šifrante na omenjeni ravni
+ALTER TABLE srv_hierarhija_ravni
+ ADD COLUMN unikaten INTEGER DEFAULT 0;
+
+
+# 23.12.2015
+# dDoločimo user type glede na anketo
+ALTER TABLE srv_hierarhija_users
+ ADD COLUMN id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
+ ADD COLUMN anketa_id INTEGER NOT NULL AFTER user_id,
+ ADD PRIMARY KEY (id),
+ ADD FOREIGN KEY (anketa_id) REFERENCES srv_anketa (id) ON DELETE CASCADE;
+
+# kreiranje naključnega 5 znakov dolgega unikatnega niza
+# CAST(MD5(RAND()) as CHAR(5))
+# 8.4.2016
+CREATE TABLE srv_hierarhija_koda (
+ koda VARCHAR(10) NOT NULL UNIQUE,
+ anketa_id INTEGER NOT NULL,
+ url TEXT NOT NULL,
+ vloga ENUM('ucitelj', 'ucenec') NOT NULL,
+ user_id INT(15) NOT NULL,
+ hierarhija_struktura_id INT(15) NOT NULL,
+ datetime DATETIME,
+ PRIMARY KEY (koda),
+ FOREIGN KEY (anketa_id) REFERENCES srv_anketa (id) ON DELETE CASCADE,
+ FOREIGN KEY (hierarhija_struktura_id) REFERENCES srv_hierarhija_struktura (id) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+# Možnost shranjevanja hierarhije
+# 10.05.2016
+CREATE TABLE srv_hierarhija_shrani (
+ id integer NOT NULL auto_increment,
+ anketa_id INTEGER NOT NULL,
+ user_id INTEGER NOT NULL,
+ ime VARCHAR(255) NULL DEFAULT NULL,
+ hierarhija LONGTEXT,
+ PRIMARY KEY (id),
+ FOREIGN KEY (anketa_id) REFERENCES srv_anketa (id) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+# Shranjevanje opcij za hierarhijo
+# 26.5.2016
+CREATE TABLE srv_hierarhija_options (
+ id integer NOT NULL auto_increment,
+ anketa_id INTEGER NOT NULL,
+ option_name VARCHAR(200) NOT NULL,
+ option_value LONGTEXT,
+ PRIMARY KEY (id),
+ FOREIGN KEY (anketa_id) REFERENCES srv_anketa (id) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+# Hierarhija help
+INSERT INTO srv_help (what, help) VALUES ('srv_hierarchy_edit_elements', 'Za vsak izbran nivo se lahko dodaja nove elemente. Z izbiro možnosti brisanja se izbriše celoten nivo z vsemi šifranti. Lahko pa se omenejene elemente ureja in odstrani zgolj poljuben element nivoja.');
+INSERT INTO srv_help (what, help) VALUES ('srv_hierarhy_last_level_missing', 'Na zadnjem nivoju manjka izbran element in elektronski naslov osebe, ki bo preko elektronske pošte dobila kodo za reševanje ankete.');
+
+# Shranjevanje strukture
+# 3.11.2016
+ALTER TABLE srv_hierarhija_shrani ADD COLUMN struktura LONGTEXT DEFAULT NULL;
+
+# Dodana stolpec za seštevek vseh učitelje v in vseh uporabnikov
+# 25.11.2016
+ALTER TABLE srv_hierarhija_shrani ADD COLUMN st_uciteljev INTEGER DEFAULT NULL;
+ALTER TABLE srv_hierarhija_shrani ADD COLUMN st_vseh_uporabnikov INTEGER DEFAULT NULL;
+
+# Omogočimo komentarje za posamezno anketo
+# 02.12.2016
+ALTER TABLE srv_hierarhija_shrani ADD COLUMN komentar TEXT DEFAULT NULL;
+
+# Piškot zapišemo za učitelja
+# 26.05.2017
+ALTER TABLE srv_hierarhija_koda
+ ADD COLUMN srv_user_id INT(11) DEFAULT NULL AFTER vloga,
+ ADD FOREIGN KEY (srv_user_id) REFERENCES srv_user (id);
+
+# Omogočimo komentarje za posamezno anketo
+# V mod_hierarhija/porocila je potreno ustvariti mapo logo (755)
+# 09.06.2017
+ALTER TABLE srv_hierarhija_shrani ADD COLUMN logo VARCHAR(255) DEFAULT NULL;
+
+# 16.06.2017
+DROP INDEX koda ON srv_hierarhija_koda;
+ALTER TABLE srv_hierarhija_koda ADD UNIQUE INDEX (koda);
+
+# 19.06.2017
+INSERT INTO srv_hierarhija_options (anketa_id, option_name, option_value) SELECT anketa_id, 'ne_poslji_kode_ucencem', '1' FROM srv_hierarhija_options WHERE option_name='poslji_kode' AND option_value='uciteljem';
+INSERT INTO srv_hierarhija_options (anketa_id, option_name, option_value) SELECT anketa_id, 'ne_poslji_kode_ucencem', '1' FROM srv_hierarhija_options WHERE option_name='poslji_kode' AND option_value='nikomur';
+INSERT INTO srv_hierarhija_options (anketa_id, option_name, option_value) SELECT anketa_id, 'ne_poslji_kodo_ucitelju', '1' FROM srv_hierarhija_options WHERE option_name='poslji_kode' AND option_value='nikomur';
+DELETE FROM srv_hierarhija_options WHERE option_name='poslji_kode';
+
+#22.06.2017
+ALTER TABLE srv_hierarhija_shrani ADD COLUMN uporabniki_list TEXT DEFAULT NULL;
+
+# Ustvarjena tabela za superšifro
+# 06.07.2017
+CREATE TABLE srv_hierarhija_supersifra (
+ koda VARCHAR(10) NOT NULL UNIQUE,
+ anketa_id INTEGER NOT NULL,
+ kode TEXT NOT NULL,
+ datetime DATETIME,
+ PRIMARY KEY (koda),
+ FOREIGN KEY (anketa_id) REFERENCES srv_anketa (id) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+# tabela, ki beleži uporabnike in katere ankete je rešil s superšiframi
+# 10.7.2017
+CREATE TABLE srv_hierarhija_supersifra_resevanje (
+ user_id INTEGER NOT NULL,
+ supersifra VARCHAR(10) NOT NULL,
+ koda VARCHAR(10) NOT NULL,
+ status TINYINT DEFAULT NULL,
+ datetime DATETIME DEFAULT NOW(),
+ PRIMARY KEY (user_id),
+ FOREIGN KEY (user_id) REFERENCES srv_user (id) ON DELETE CASCADE,
+ FOREIGN KEY (supersifra) REFERENCES srv_hierarhija_supersifra (koda) ON DELETE CASCADE,
+ FOREIGN KEY (koda) REFERENCES srv_hierarhija_koda (koda) ON DELETE CASCADE #na testu povzročal težave
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+# Dostop do mdula SA
+CREATE TABLE srv_hierarhija_dostop (
+ user_id INTEGER NOT NULL,
+ dostop TINYINT DEFAULT 0,
+ ustanova VARCHAR(255) DEFAULT NULL,
+ aai_email VARCHAR(100) DEFAULT NULL,
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+ updated_at DATETIME ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (user_id),
+ FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=utf8;