191 lines
7.7 KiB
SQL
191 lines
7.7 KiB
SQL
# 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;
|