Merge branch 'refactor-schema'
commit
130b6e3e8a
|
@ -1,9 +1,9 @@
|
||||||
-- -*- mode:sql sql-product:sqlite -*-
|
-- -*- mode:sql sql-product:sqlite -*-
|
||||||
|
|
||||||
INSERT INTO sizes (size_id, short_name) VALUES
|
INSERT INTO sizes (size_id, short_name, space_in_ft, reach_tall_ft, reach_long_ft) VALUES
|
||||||
(1, 'Tiny'),
|
(1,'Tiny',4,0,0),
|
||||||
(2, 'Small'),
|
(2,'Small',5,5,5),
|
||||||
(3, 'Medium'),
|
(3,'Medium',5,5,5),
|
||||||
(4, 'Large'),
|
(4,'Large',10,10,5),
|
||||||
(5, 'Huge'),
|
(5,'Huge',15,15,10),
|
||||||
(6, 'Gargantuan');
|
(6,'Gargantuan',20,20,15);
|
||||||
|
|
|
@ -3,6 +3,10 @@ del pf2.db
|
||||||
|
|
||||||
:: Loading schema
|
:: Loading schema
|
||||||
sqlite3 pf2.db < schema/abilityscores.sql
|
sqlite3 pf2.db < schema/abilityscores.sql
|
||||||
|
sqlite3 pf2.db < schema/langs.sql
|
||||||
|
sqlite3 pf2.db < schema/traits.sql
|
||||||
|
sqlite3 pf2.db < schema/feats.sql
|
||||||
|
sqlite3 pf2.db < schema/senses.sql
|
||||||
sqlite3 pf2.db < schema/ancestries.sql
|
sqlite3 pf2.db < schema/ancestries.sql
|
||||||
|
|
||||||
:: Loading data
|
:: Loading data
|
||||||
|
|
10
gendb.sh
10
gendb.sh
|
@ -2,6 +2,16 @@ rm pf2.db
|
||||||
echo 'loading schema'
|
echo 'loading schema'
|
||||||
echo 'schema/abilityscores.sql'
|
echo 'schema/abilityscores.sql'
|
||||||
sqlite3 pf2.db < schema/abilityscores.sql
|
sqlite3 pf2.db < schema/abilityscores.sql
|
||||||
|
echo 'schema/sizes.sql'
|
||||||
|
sqlite3 pf2.db < schema/sizes.sql
|
||||||
|
echo 'schema/langs.sql'
|
||||||
|
sqlite3 pf2.db < schema/langs.sql
|
||||||
|
echo 'schema/traits.sql'
|
||||||
|
sqlite3 pf2.db < schema/traits.sql
|
||||||
|
echo 'schema/feats.sql'
|
||||||
|
sqlite3 pf2.db < schema/feats.sql
|
||||||
|
echo 'schema/senses.sql'
|
||||||
|
sqlite3 pf2.db < schema/senses.sql
|
||||||
echo 'schema/ancestries.sql'
|
echo 'schema/ancestries.sql'
|
||||||
sqlite3 pf2.db < schema/ancestries.sql
|
sqlite3 pf2.db < schema/ancestries.sql
|
||||||
echo 'loading data'
|
echo 'loading data'
|
||||||
|
|
|
@ -1,16 +1,13 @@
|
||||||
-- -*- mode:sql sql-product:sqlite -*-
|
-- -*- mode:sql sql-product:sqlite -*-
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
TODO Need to decide on whether to do a massive feats table, or to split feats
|
TODO Need to decide on whether to do a massive feats table, or to split feats
|
||||||
into separate tables for general feats, ancestry feats, background feats, etc...
|
into separate tables for general feats, ancestry feats, background feats, etc...
|
||||||
|
|
||||||
I think one big feat table that has a feat type in it and then an ancestry_feat
|
I think one big feat table that has a feat type in it and then an ancestry_feat
|
||||||
table that matches feats to ancestries, etc..
|
table that matches feats to ancestries, etc..
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE ancestries (
|
CREATE TABLE ancestries (
|
||||||
ancestry_id INTEGER PRIMARY KEY,
|
ancestry_id INTEGER PRIMARY KEY,
|
||||||
short_name TEXT NOT NULL UNIQUE,
|
short_name TEXT NOT NULL UNIQUE,
|
||||||
|
@ -39,12 +36,6 @@ CREATE TABLE ancestries_flaws (
|
||||||
FOREIGN KEY (abilityscores_id) REFERENCES abilityscores(abilityscores_id)
|
FOREIGN KEY (abilityscores_id) REFERENCES abilityscores(abilityscores_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
/* has partial data */
|
|
||||||
CREATE TABLE visions (
|
|
||||||
vision_id INTEGER PRIMARY KEY,
|
|
||||||
short_name TEXT NOT NULL UNIQUE,
|
|
||||||
description TEXT NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Need to figure out how to model heritages that also have reactions / feats
|
/* Need to figure out how to model heritages that also have reactions / feats
|
||||||
etc.. */
|
etc.. */
|
||||||
|
@ -65,22 +56,6 @@ CREATE TABLE ancestries_heritages (
|
||||||
FOREIGN KEY (heritage_id) REFERENCES heritages(heritage_id)
|
FOREIGN KEY (heritage_id) REFERENCES heritages(heritage_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
/* TODO can the description var be UNIQUE? */
|
|
||||||
/* has partial data done */
|
|
||||||
CREATE TABLE traits (
|
|
||||||
trait_id INTEGER PRIMARY KEY,
|
|
||||||
-- short_name TEXT NOT NULL UNIQUE,
|
|
||||||
traittype INTEGER,
|
|
||||||
short_name TEXT NOT NULL,
|
|
||||||
description TEXT NOT NULL,
|
|
||||||
FOREIGN KEY (traittype) REFERENCES traittypes(traittypes_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE traittypes (
|
|
||||||
traittype_id INTEGER PRIMARY KEY,
|
|
||||||
name TEXT NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
/* TODO THIS TABLE IS LIKELY NOT NEEDED. THANKS WES! */
|
/* TODO THIS TABLE IS LIKELY NOT NEEDED. THANKS WES! */
|
||||||
|
|
||||||
CREATE TABLE heritages_traits (
|
CREATE TABLE heritages_traits (
|
||||||
|
@ -102,16 +77,6 @@ CREATE TABLE ancestries_traits (
|
||||||
FOREIGN KEY (trait_id) REFERENCES traits(trait_id)
|
FOREIGN KEY (trait_id) REFERENCES traits(trait_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE sizes (
|
|
||||||
size_id INTEGER PRIMARY KEY,
|
|
||||||
short_name TEXT NOT NULL UNIQUE
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE langs (
|
|
||||||
lang_id INTEGER PRIMARY KEY,
|
|
||||||
short_name TEXT NOT NULL UNIQUE
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE ancestries_langs (
|
CREATE TABLE ancestries_langs (
|
||||||
id INTEGER PRIMARY KEY,
|
id INTEGER PRIMARY KEY,
|
||||||
ancestry_id INTEGER NOT NULL,
|
ancestry_id INTEGER NOT NULL,
|
||||||
|
@ -119,7 +84,6 @@ CREATE TABLE ancestries_langs (
|
||||||
FOREIGN KEY (ancestry_id) REFERENCES ancestries(ancestry_id),
|
FOREIGN KEY (ancestry_id) REFERENCES ancestries(ancestry_id),
|
||||||
FOREIGN KEY (lang_id) REFERENCES langs(lang_id));
|
FOREIGN KEY (lang_id) REFERENCES langs(lang_id));
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE ancestry_additionalangs (
|
CREATE TABLE ancestry_additionalangs (
|
||||||
id INTEGER PRIMARY KEY,
|
id INTEGER PRIMARY KEY,
|
||||||
ancestry_id INTEGER NOT NULL,
|
ancestry_id INTEGER NOT NULL,
|
||||||
|
@ -127,24 +91,3 @@ CREATE TABLE ancestry_additionalangs (
|
||||||
FOREIGN KEY (ancestry_id) REFERENCES ancestries(ancestry_id),
|
FOREIGN KEY (ancestry_id) REFERENCES ancestries(ancestry_id),
|
||||||
FOREIGN KEY (lang_id) REFERENCES langs(lang_id)
|
FOREIGN KEY (lang_id) REFERENCES langs(lang_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Need to rethink how to model the various prerequisites */
|
|
||||||
|
|
||||||
CREATE TABLE feats (
|
|
||||||
feat_id INTEGER PRIMARY KEY,
|
|
||||||
short_name TEXT NOT NULL UNIQUE,
|
|
||||||
prereq_feats INTEGER,
|
|
||||||
prereq_ability_scores INTEGER,
|
|
||||||
prereq_proficiency_ranks INTEGER,
|
|
||||||
frequency TEXT,
|
|
||||||
triggers TEXT,
|
|
||||||
reqs TEXT
|
|
||||||
);
|
|
||||||
|
|
||||||
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)
|
|
||||||
);
|
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
-- -*- mode:sql sql-product:sqlite -*-
|
||||||
|
|
||||||
|
/* MUST BE CALLED AFTER TRAITS TABLE IS FORMED */
|
||||||
|
|
||||||
|
/* Need to rethink how to model the various prerequisites */
|
||||||
|
|
||||||
|
CREATE TABLE feats (
|
||||||
|
feat_id INTEGER PRIMARY KEY,
|
||||||
|
short_name TEXT NOT NULL UNIQUE,
|
||||||
|
prereq_feats INTEGER,
|
||||||
|
prereq_ability_scores INTEGER,
|
||||||
|
prereq_proficiency_ranks INTEGER,
|
||||||
|
frequency TEXT,
|
||||||
|
triggers TEXT,
|
||||||
|
reqs TEXT
|
||||||
|
);
|
||||||
|
|
||||||
|
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)
|
||||||
|
);
|
|
@ -0,0 +1,6 @@
|
||||||
|
-- -*- mode:sql sql-product:sqlite -*-
|
||||||
|
|
||||||
|
CREATE TABLE langs (
|
||||||
|
lang_id INTEGER PRIMARY KEY,
|
||||||
|
short_name TEXT NOT NULL UNIQUE
|
||||||
|
);
|
|
@ -0,0 +1,9 @@
|
||||||
|
-- -*- mode:sql sql-product:sqlite -*-
|
||||||
|
|
||||||
|
/* TODO change visions to a senses table */
|
||||||
|
|
||||||
|
CREATE TABLE visions (
|
||||||
|
vision_id INTEGER PRIMARY KEY,
|
||||||
|
short_name TEXT NOT NULL UNIQUE,
|
||||||
|
description TEXT NOT NULL
|
||||||
|
);
|
|
@ -0,0 +1,10 @@
|
||||||
|
-- -*- mode:sql sql-product:sqlite -*-
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE sizes (
|
||||||
|
size_id INTEGER PRIMARY KEY,
|
||||||
|
short_name TEXT NOT NULL UNIQUE,
|
||||||
|
space_in_ft INTEGER NOT NULL,
|
||||||
|
reach_tall_ft INTEGER NOT NULL,
|
||||||
|
reach_long_ft INTEGER NOT NULL
|
||||||
|
);
|
|
@ -0,0 +1,17 @@
|
||||||
|
-- -*- mode:sql sql-product:sqlite -*-
|
||||||
|
|
||||||
|
CREATE TABLE traittypes (
|
||||||
|
traittype_id INTEGER PRIMARY KEY,
|
||||||
|
name TEXT NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
/* TODO can the description var be UNIQUE? */
|
||||||
|
/* has partial data done */
|
||||||
|
CREATE TABLE traits (
|
||||||
|
trait_id INTEGER PRIMARY KEY,
|
||||||
|
traittype INTEGER,
|
||||||
|
short_name TEXT NOT NULL,
|
||||||
|
description TEXT NOT NULL,
|
||||||
|
FOREIGN KEY (traittype) REFERENCES traittypes(traittypes_id)
|
||||||
|
);
|
||||||
|
|
Loading…
Reference in New Issue