2019-08-06 16:39:08 -04:00
|
|
|
-- -*- mode:sql sql-product:sqlite -*-
|
|
|
|
|
2019-08-06 16:41:03 -04:00
|
|
|
/* MUST BE CALLED AFTER TRAITS TABLE IS FORMED */
|
|
|
|
|
2019-08-06 16:39:08 -04:00
|
|
|
/* Need to rethink how to model the various prerequisites */
|
|
|
|
|
2019-08-06 22:08:18 -04:00
|
|
|
|
2019-08-06 16:39:08 -04:00
|
|
|
CREATE TABLE feats (
|
|
|
|
feat_id INTEGER PRIMARY KEY,
|
2019-08-06 22:08:18 -04:00
|
|
|
sources_id INTEGER NOT NULL,
|
|
|
|
sources_pages TEXT NOT NULL,
|
2019-08-06 16:39:08 -04:00
|
|
|
short_name TEXT NOT NULL UNIQUE,
|
2019-08-06 22:08:18 -04:00
|
|
|
descr TEXT NOT NULL,
|
2019-08-06 16:39:08 -04:00
|
|
|
frequency TEXT,
|
|
|
|
triggers TEXT,
|
2019-08-06 22:08:18 -04:00
|
|
|
reqs TEXT,
|
|
|
|
FOREIGN KEY (sources_id) REFERENCES sources(sources_id)
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE featprereqs (
|
|
|
|
featprereqs_id INTEGER PRIMARY KEY,
|
|
|
|
descr TEXT NOT NULL UNIQUE,
|
|
|
|
feat_id INTEGER, -- this can be NULL since not all prereqs are feats
|
|
|
|
FOREIGN KEY (feat_id) REFERENCES feats(feat_id)
|
2019-08-06 16:39:08 -04:00
|
|
|
);
|
|
|
|
|
2019-08-06 22:08:18 -04:00
|
|
|
CREATE TABLE feats_featprereqs (
|
|
|
|
id INTEGER PRIMARY KEY,
|
|
|
|
feat_id INTEGER NOT NULL,
|
|
|
|
featprereqs_id INTEGER NOT NULL,
|
|
|
|
FOREIGN KEY (feat_id) REFERENCES feats(feat_id),
|
|
|
|
FOREIGN KEY (featprereqs_id) REFERENCES featprereqs(featprereqs_id)
|
|
|
|
);
|
|
|
|
|
|
|
|
|
2019-08-06 16:39:08 -04:00
|
|
|
CREATE TABLE feats_traits (
|
|
|
|
id INTEGER PRIMARY KEY,
|
|
|
|
feat_id INTEGER NOT NULL,
|
|
|
|
trait_id INTEGER NOT NULL,
|
|
|
|
FOREIGN KEY (feat_id) REFERENCES feats(feat_id),
|
|
|
|
FOREIGN KEY (trait_id) REFERENCES traits(trait_id)
|
|
|
|
);
|