add data directory

This commit is contained in:
tibo
2020-03-01 09:52:46 +00:00
parent 27b64b872f
commit 29887761d3
12 changed files with 27731 additions and 0 deletions

72
data/SQL/init.sql Normal file
View File

@@ -0,0 +1,72 @@
PRAGMA foreign_keys==off;
----
-- Table structure plugins
----
CREATE TABLE 'plugins' (
'id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
'libelle' TEXT NOT NULL
);
INSERT INTO 'plugins' VALUES (0, 'List');
INSERT INTO 'plugins' VALUES (1, 'Hierarchy');
----
-- Table structure for items
----
CREATE TABLE 'items' (
'id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
'plugin' INTEGER DEFAULT 1,
'code' TEXT NOT NULL,
'libelle' TEXT NOT NULL,
CONSTRAINT fk_items
FOREIGN KEY('plugin') REFERENCES 'plugins'('id')
ON DELETE CASCADE
);
----
-- Table structure for links
----
CREATE TABLE 'links' (
'id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
'link' INTEGER DEFAULT 0,
'item' INTEGER,
CONSTRAINT fk_links
FOREIGN KEY('item') REFERENCES 'items'('id')
ON DELETE CASCADE
);
----
-- Table structure for nodes
----
CREATE TABLE 'nodes' (
'child' INTEGER,
'parent' INTEGER,
'rank' INTEGER DEFAULT 0,
CONSTRAINT fk_nodes_1
FOREIGN KEY('child') REFERENCES 'links'('id')
ON DELETE CASCADE,
CONSTRAINT fk_nodes_2
FOREIGN KEY('parent') REFERENCES 'links'('id')
ON DELETE CASCADE
);
----
-- View structure for v_items
----
CREATE VIEW v_items AS
SELECT
items.plugin, items.code, items.libelle ,
links.*
FROM links
INNER JOIN items ON items.id = links.item;
----
-- View structure for v_items_tree
----
CREATE VIEW v_items_tree AS
SELECT
nodes.parent, nodes.rank,
v_items.*
FROM v_items
LEFT JOIN nodes ON nodes.child = v_items.id;
PRAGMA foreign_keys=on;