54 lines
1.7 KiB
SQL
54 lines
1.7 KiB
SQL
-- -*- mode:sql sql-product:sqlite -*-
|
|
|
|
CREATE TABLE actioncosts (
|
|
actioncosts_id INTEGER PRIMARY KEY,
|
|
name TEXT NOT NULL UNIQUE,
|
|
abbr TEXT NOT NULL UNIQUE
|
|
);
|
|
|
|
-- TODO remove sources_id and sources_pages once sourceentries is finished --
|
|
CREATE TABLE actioncategories (
|
|
actioncategories_id INTEGER PRIMARY KEY,
|
|
name TEXT NOT NULL UNIQUE,
|
|
descr TEXT NOT NULL UNIQUE,
|
|
);
|
|
|
|
-- TODO remove sources_id and sources_pages once sourceentries is finished --
|
|
CREATE TABLE actions (
|
|
actions_id INTEGER PRIMARY KEY,
|
|
actioncategories_id INTEGER NOT NULL,
|
|
actioncosts_id INTEGER,
|
|
name TEXT NOT NULL UNIQUE,
|
|
req TEXT,
|
|
trigger TEXT,
|
|
descr TEXT NOT NULL,
|
|
FOREIGN KEY (actioncategories_id) REFERENCES actioncategories(actioncategories_id),
|
|
FOREIGN KEY (actioncosts_id) REFERENCES actioncosts(actioncosts_id),
|
|
FOREIGN KEY (sources_id) REFERENCES sources(sources_id)
|
|
);
|
|
|
|
CREATE TABLE actions_traits (
|
|
id INTEGER PRIMARY KEY,
|
|
actions_id INTEGER NOT NULL,
|
|
traits_id INTEGER NOT NULL
|
|
);
|
|
|
|
-- Joining table --
|
|
CREATE TABLE actioncategories_sourceentries (
|
|
id INTEGER PRIMARY KEY
|
|
,actioncategories_id INTEGER NOT NULL
|
|
,sourceentry_id INTEGER NOT NULL
|
|
,UNIQUE (id, actioncategories_id, soruceentry_id),
|
|
,FOREIGN KEY (actioncategories_id) REFERENCES actioncategories(actioncategories_id)
|
|
,FOREIGN KEY (sourceentry_id) REFERENCES sourceentries(sourceentry_id)
|
|
);
|
|
|
|
-- Joining table --
|
|
CREATE TABLE actions_sourceentries (
|
|
id INTEGER PRIMARY KEY
|
|
,actions_id INTEGER NOT NULL
|
|
,sourceentry_id INTEGER NOT NULL
|
|
,UNIQUE (id, actions_id, soruceentry_id),
|
|
,FOREIGN KEY (actions_id) REFERENCES actions(actions_id)
|
|
,FOREIGN KEY (sourceentry_id) REFERENCES sourceentries(sourceentry_id)
|
|
); |