[feat] extend database schema with new tables and indexes
This commit is contained in:
17
database/main/alchemical_recipe.sql
Normal file
17
database/main/alchemical_recipe.sql
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
create table alchemical_recipe
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
name TEXT not null
|
||||||
|
unique,
|
||||||
|
result_item_id INTEGER
|
||||||
|
references item,
|
||||||
|
herstellungs_talent_id INTEGER not null
|
||||||
|
references talent,
|
||||||
|
herstellungs_probe_mod INTEGER default 0,
|
||||||
|
labor_schwierigkeit TEXT,
|
||||||
|
rezept_kosten_heller INTEGER,
|
||||||
|
wirkungsbeschreibung TEXT,
|
||||||
|
wirkung_strukturiert TEXT
|
||||||
|
);
|
||||||
|
|
11
database/main/ammunition.sql
Normal file
11
database/main/ammunition.sql
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
create table ammunition
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
item_id INTEGER not null
|
||||||
|
unique
|
||||||
|
references item
|
||||||
|
on delete cascade,
|
||||||
|
passend_fuer_fk_waffe_typ TEXT
|
||||||
|
);
|
||||||
|
|
13
database/main/armor.sql
Normal file
13
database/main/armor.sql
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
create table armor
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
item_id INTEGER not null
|
||||||
|
unique
|
||||||
|
references item
|
||||||
|
on delete cascade,
|
||||||
|
ruestungsschutz INTEGER not null,
|
||||||
|
behaelinderung REAL not null,
|
||||||
|
zonen TEXT
|
||||||
|
);
|
||||||
|
|
9
database/main/availability_level.sql
Normal file
9
database/main/availability_level.sql
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
create table availability_level
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
stufe INTEGER not null
|
||||||
|
unique,
|
||||||
|
beschreibung TEXT
|
||||||
|
);
|
||||||
|
|
20
database/main/crafting_recipe.sql
Normal file
20
database/main/crafting_recipe.sql
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
create table crafting_recipe
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
result_item_id INTEGER not null
|
||||||
|
references item,
|
||||||
|
required_talent_id INTEGER not null
|
||||||
|
references talent,
|
||||||
|
required_fw INTEGER not null,
|
||||||
|
zeitaufwand_in_ze TEXT,
|
||||||
|
benoetigte_materialien TEXT,
|
||||||
|
anmerkung TEXT
|
||||||
|
);
|
||||||
|
|
||||||
|
create index idx_crafting_recipe_item
|
||||||
|
on crafting_recipe (result_item_id);
|
||||||
|
|
||||||
|
create index idx_crafting_recipe_talent
|
||||||
|
on crafting_recipe (required_talent_id);
|
||||||
|
|
27
database/main/creature.sql
Normal file
27
database/main/creature.sql
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
create table creature
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
optolith_key TEXT
|
||||||
|
unique,
|
||||||
|
name TEXT not null,
|
||||||
|
typ TEXT,
|
||||||
|
groessenkategorie TEXT,
|
||||||
|
attr_mu INTEGER,
|
||||||
|
attr_kl INTEGER,
|
||||||
|
attr_in INTEGER,
|
||||||
|
attr_ch INTEGER,
|
||||||
|
attr_ff INTEGER,
|
||||||
|
attr_ge INTEGER,
|
||||||
|
attr_ko INTEGER,
|
||||||
|
attr_kk INTEGER,
|
||||||
|
le_formel TEXT,
|
||||||
|
sk_wert INTEGER,
|
||||||
|
zk_wert INTEGER,
|
||||||
|
gs_wert INTEGER,
|
||||||
|
ini_formel TEXT,
|
||||||
|
rs_wert INTEGER,
|
||||||
|
beschreibung TEXT,
|
||||||
|
fluchtverhalten TEXT
|
||||||
|
);
|
||||||
|
|
15
database/main/creature_attack.sql
Normal file
15
database/main/creature_attack.sql
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
create table creature_attack
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
creature_id INTEGER not null
|
||||||
|
references creature
|
||||||
|
on delete cascade,
|
||||||
|
name TEXT not null,
|
||||||
|
at_wert INTEGER,
|
||||||
|
pa_wert INTEGER,
|
||||||
|
tp_formel TEXT,
|
||||||
|
reichweite TEXT,
|
||||||
|
eigenschaften TEXT
|
||||||
|
);
|
||||||
|
|
14
database/main/creature_attack_has_property.sql
Normal file
14
database/main/creature_attack_has_property.sql
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
create table creature_attack_has_property
|
||||||
|
(
|
||||||
|
attack_id INTEGER not null
|
||||||
|
references creature_attack
|
||||||
|
on delete cascade,
|
||||||
|
property_id INTEGER not null
|
||||||
|
references creature_attack_property
|
||||||
|
on delete restrict,
|
||||||
|
primary key (attack_id, property_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
create index idx_creature_attack_has_prop_prop
|
||||||
|
on creature_attack_has_property (property_id);
|
||||||
|
|
9
database/main/creature_attack_property.sql
Normal file
9
database/main/creature_attack_property.sql
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
create table creature_attack_property
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
name TEXT not null
|
||||||
|
unique,
|
||||||
|
beschreibung TEXT
|
||||||
|
);
|
||||||
|
|
14
database/main/creature_special_ability.sql
Normal file
14
database/main/creature_special_ability.sql
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
create table creature_special_ability
|
||||||
|
(
|
||||||
|
creature_id INTEGER not null
|
||||||
|
references creature
|
||||||
|
on delete cascade,
|
||||||
|
special_ability_id INTEGER not null
|
||||||
|
references special_ability
|
||||||
|
on delete restrict,
|
||||||
|
primary key (creature_id, special_ability_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
create index idx_creature_sa_sa
|
||||||
|
on creature_special_ability (special_ability_id);
|
||||||
|
|
15
database/main/creature_talent.sql
Normal file
15
database/main/creature_talent.sql
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
create table creature_talent
|
||||||
|
(
|
||||||
|
creature_id INTEGER not null
|
||||||
|
references creature
|
||||||
|
on delete cascade,
|
||||||
|
talent_id INTEGER not null
|
||||||
|
references talent
|
||||||
|
on delete restrict,
|
||||||
|
fertigkeitswert INTEGER not null,
|
||||||
|
primary key (creature_id, talent_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
create index idx_creature_talent_talent
|
||||||
|
on creature_talent (talent_id);
|
||||||
|
|
@@ -16,6 +16,3 @@ create table culture_trait
|
|||||||
create index idx_culture_trait_trait
|
create index idx_culture_trait_trait
|
||||||
on culture_trait (trait_id);
|
on culture_trait (trait_id);
|
||||||
|
|
||||||
create index idx_culture_trait_trait2
|
|
||||||
on culture_trait (trait_id);
|
|
||||||
|
|
||||||
|
11
database/main/deity.sql
Normal file
11
database/main/deity.sql
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
create table deity
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
name TEXT not null
|
||||||
|
unique,
|
||||||
|
aspekte TEXT,
|
||||||
|
herrschaftsbereich TEXT,
|
||||||
|
heiliges_tier TEXT
|
||||||
|
);
|
||||||
|
|
15
database/main/item.sql
Normal file
15
database/main/item.sql
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
create table item
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
name TEXT not null,
|
||||||
|
typ TEXT not null,
|
||||||
|
gewicht_in_unzen INTEGER default 0,
|
||||||
|
preis_in_heller INTEGER default 0,
|
||||||
|
beschreibung TEXT,
|
||||||
|
verfuegbarkeit TEXT,
|
||||||
|
availability_id INTEGER
|
||||||
|
references availability_level,
|
||||||
|
check (typ IN ('WAFFE', 'RÜSTUNG', 'SCHILD', 'FERNKAMPFWAFFE', 'MUNITION', 'ALLGEMEIN', 'ALCHEMIKA'))
|
||||||
|
);
|
||||||
|
|
@@ -1,17 +1,19 @@
|
|||||||
create table kampftechnik
|
create table kampftechnik
|
||||||
(
|
(
|
||||||
id INTEGER
|
id INTEGER
|
||||||
primary key,
|
primary key,
|
||||||
optolith_key TEXT not null
|
optolith_key TEXT not null
|
||||||
unique,
|
unique,
|
||||||
name TEXT not null,
|
name TEXT not null,
|
||||||
grundwert INTEGER default 6 not null,
|
grundwert INTEGER default 6 not null,
|
||||||
probe_attr1_id INTEGER
|
probe_attr1_id INTEGER
|
||||||
references attribute,
|
references attribute,
|
||||||
probe_attr2_id INTEGER
|
probe_attr2_id INTEGER
|
||||||
references attribute,
|
references attribute,
|
||||||
probe_attr3_id INTEGER
|
probe_attr3_id INTEGER
|
||||||
references attribute,
|
references attribute,
|
||||||
beschreibung TEXT
|
beschreibung TEXT,
|
||||||
|
leiteigenschaft_id INTEGER
|
||||||
|
references attribute
|
||||||
);
|
);
|
||||||
|
|
||||||
|
17
database/main/liturgy_modification.sql
Normal file
17
database/main/liturgy_modification.sql
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
create table liturgy_modification
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
liturgy_id INTEGER not null
|
||||||
|
references liturgy
|
||||||
|
on delete cascade,
|
||||||
|
name TEXT not null,
|
||||||
|
wirkung TEXT not null,
|
||||||
|
voraussetzung TEXT,
|
||||||
|
kosten_modifikation TEXT,
|
||||||
|
unique (liturgy_id, name)
|
||||||
|
);
|
||||||
|
|
||||||
|
create index idx_liturgy_mod_liturgy
|
||||||
|
on liturgy_modification (liturgy_id);
|
||||||
|
|
16
database/main/poison_disease.sql
Normal file
16
database/main/poison_disease.sql
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
create table poison_disease
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
name TEXT not null
|
||||||
|
unique,
|
||||||
|
typ TEXT not null,
|
||||||
|
art TEXT,
|
||||||
|
resistenz_probe_attr TEXT not null,
|
||||||
|
stufe INTEGER,
|
||||||
|
wirkungsbeginn TEXT,
|
||||||
|
schaden_wirkung TEXT,
|
||||||
|
dauer TEXT,
|
||||||
|
check (typ IN ('GIFT', 'KRANKHEIT'))
|
||||||
|
);
|
||||||
|
|
@@ -14,6 +14,3 @@ create table profession_trait
|
|||||||
create index idx_profession_trait_trait
|
create index idx_profession_trait_trait
|
||||||
on profession_trait (trait_id);
|
on profession_trait (trait_id);
|
||||||
|
|
||||||
create index idx_profession_trait_trait2
|
|
||||||
on profession_trait (trait_id);
|
|
||||||
|
|
||||||
|
18
database/main/ranged_weapon.sql
Normal file
18
database/main/ranged_weapon.sql
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
create table ranged_weapon
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
item_id INTEGER not null
|
||||||
|
unique
|
||||||
|
references item
|
||||||
|
on delete cascade,
|
||||||
|
kampftechnik_id INTEGER not null
|
||||||
|
references kampftechnik
|
||||||
|
on delete restrict,
|
||||||
|
schaden_tp_formel TEXT not null,
|
||||||
|
ladezeit_in_aktionen INTEGER,
|
||||||
|
reichweite_nah INTEGER,
|
||||||
|
reichweite_mittel INTEGER,
|
||||||
|
reichweite_fern INTEGER
|
||||||
|
);
|
||||||
|
|
11
database/main/service_cost.sql
Normal file
11
database/main/service_cost.sql
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
create table service_cost
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
name TEXT not null,
|
||||||
|
kategorie TEXT,
|
||||||
|
preis_in_heller INTEGER,
|
||||||
|
preis_bemerkung TEXT,
|
||||||
|
beschreibung TEXT
|
||||||
|
);
|
||||||
|
|
17
database/main/shield.sql
Normal file
17
database/main/shield.sql
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
create table shield
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
item_id INTEGER not null
|
||||||
|
unique
|
||||||
|
references item
|
||||||
|
on delete cascade,
|
||||||
|
kampftechnik_id INTEGER not null
|
||||||
|
references kampftechnik
|
||||||
|
on delete restrict,
|
||||||
|
at_mod INTEGER default 0,
|
||||||
|
pa_mod INTEGER default 0,
|
||||||
|
zusatz_rs INTEGER default 0,
|
||||||
|
zusatz_be REAL default 0
|
||||||
|
);
|
||||||
|
|
10
database/main/social_status.sql
Normal file
10
database/main/social_status.sql
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
create table social_status
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
name TEXT not null
|
||||||
|
unique,
|
||||||
|
ap_kosten INTEGER not null,
|
||||||
|
beschreibung TEXT
|
||||||
|
);
|
||||||
|
|
@@ -1,14 +1,15 @@
|
|||||||
create table special_ability
|
create table special_ability
|
||||||
(
|
(
|
||||||
id INTEGER
|
id INTEGER
|
||||||
primary key,
|
primary key,
|
||||||
optolith_key TEXT not null
|
optolith_key TEXT not null
|
||||||
unique,
|
unique,
|
||||||
name TEXT not null,
|
name TEXT not null,
|
||||||
type_code TEXT
|
type_code TEXT
|
||||||
references sa_type
|
references sa_type
|
||||||
on update cascade,
|
on update cascade,
|
||||||
ap_kosten INTEGER,
|
ap_kosten INTEGER,
|
||||||
beschreibung TEXT
|
beschreibung TEXT,
|
||||||
|
benoetigt_parameter BOOLEAN default 0 not null
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@@ -16,6 +16,3 @@ create table species_trait
|
|||||||
create index idx_species_trait_trait
|
create index idx_species_trait_trait
|
||||||
on species_trait (trait_id);
|
on species_trait (trait_id);
|
||||||
|
|
||||||
create index idx_species_trait_trait2
|
|
||||||
on species_trait (trait_id);
|
|
||||||
|
|
||||||
|
17
database/main/spell_modification.sql
Normal file
17
database/main/spell_modification.sql
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
create table spell_modification
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
spell_id INTEGER not null
|
||||||
|
references spell
|
||||||
|
on delete cascade,
|
||||||
|
name TEXT not null,
|
||||||
|
wirkung TEXT not null,
|
||||||
|
voraussetzung TEXT,
|
||||||
|
kosten_modifikation TEXT,
|
||||||
|
unique (spell_id, name)
|
||||||
|
);
|
||||||
|
|
||||||
|
create index idx_spell_mod_spell
|
||||||
|
on spell_modification (spell_id);
|
||||||
|
|
10
database/main/status_effect.sql
Normal file
10
database/main/status_effect.sql
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
create table status_effect
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
name TEXT not null
|
||||||
|
unique,
|
||||||
|
max_stufen INTEGER,
|
||||||
|
regel_beschreibung TEXT
|
||||||
|
);
|
||||||
|
|
14
database/main/tradition_has_deity.sql
Normal file
14
database/main/tradition_has_deity.sql
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
create table tradition_has_deity
|
||||||
|
(
|
||||||
|
tradition_id INTEGER not null
|
||||||
|
references tradition
|
||||||
|
on delete cascade,
|
||||||
|
deity_id INTEGER not null
|
||||||
|
references deity
|
||||||
|
on delete restrict,
|
||||||
|
primary key (tradition_id, deity_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
create index idx_trad_deity_deity
|
||||||
|
on tradition_has_deity (deity_id);
|
||||||
|
|
@@ -1,20 +1,21 @@
|
|||||||
create table trait
|
create table trait
|
||||||
(
|
(
|
||||||
id INTEGER
|
id INTEGER
|
||||||
primary key,
|
primary key,
|
||||||
optolith_key TEXT not null
|
optolith_key TEXT not null
|
||||||
unique,
|
unique,
|
||||||
name TEXT not null,
|
name TEXT not null,
|
||||||
kind TEXT not null,
|
kind TEXT not null,
|
||||||
is_leveled INTEGER default 0 not null,
|
is_leveled INTEGER default 0 not null,
|
||||||
level_min INTEGER,
|
level_min INTEGER,
|
||||||
level_max INTEGER,
|
level_max INTEGER,
|
||||||
level_step INTEGER,
|
level_step INTEGER,
|
||||||
ap_cost_mode TEXT default 'FIXED' not null,
|
ap_cost_mode TEXT default 'FIXED' not null,
|
||||||
ap_wert INTEGER,
|
ap_wert INTEGER,
|
||||||
ap_per_level INTEGER,
|
ap_per_level INTEGER,
|
||||||
ap_formula TEXT,
|
ap_formula TEXT,
|
||||||
beschreibung TEXT,
|
beschreibung TEXT,
|
||||||
|
benoetigt_parameter BOOLEAN default 0 not null,
|
||||||
check (ap_cost_mode IN ('FIXED', 'PER_LEVEL', 'TABLE', 'FORMULA')),
|
check (ap_cost_mode IN ('FIXED', 'PER_LEVEL', 'TABLE', 'FORMULA')),
|
||||||
check (is_leveled IN (0, 1)),
|
check (is_leveled IN (0, 1)),
|
||||||
check (kind IN ('VORTEIL', 'NACHTEIL'))
|
check (kind IN ('VORTEIL', 'NACHTEIL'))
|
||||||
|
18
database/main/weapon.sql
Normal file
18
database/main/weapon.sql
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
create table weapon
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
item_id INTEGER not null
|
||||||
|
unique
|
||||||
|
references item
|
||||||
|
on delete cascade,
|
||||||
|
kampftechnik_id INTEGER not null
|
||||||
|
references kampftechnik
|
||||||
|
on delete restrict,
|
||||||
|
schaden_tp_formel TEXT not null,
|
||||||
|
tp_kk_schwelle INTEGER,
|
||||||
|
tp_kk_schritt INTEGER,
|
||||||
|
at_mod INTEGER default 0,
|
||||||
|
pa_mod INTEGER default 0
|
||||||
|
);
|
||||||
|
|
14
database/main/weapon_has_property.sql
Normal file
14
database/main/weapon_has_property.sql
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
create table weapon_has_property
|
||||||
|
(
|
||||||
|
weapon_id INTEGER not null
|
||||||
|
references weapon
|
||||||
|
on delete cascade,
|
||||||
|
property_id INTEGER not null
|
||||||
|
references weapon_property
|
||||||
|
on delete restrict,
|
||||||
|
primary key (weapon_id, property_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
create index idx_weapon_has_property_prop
|
||||||
|
on weapon_has_property (property_id);
|
||||||
|
|
9
database/main/weapon_property.sql
Normal file
9
database/main/weapon_property.sql
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
create table weapon_property
|
||||||
|
(
|
||||||
|
id INTEGER
|
||||||
|
primary key,
|
||||||
|
name TEXT not null
|
||||||
|
unique,
|
||||||
|
beschreibung TEXT
|
||||||
|
);
|
||||||
|
|
Reference in New Issue
Block a user