Rosterizer_Warhammer_40000_v9/wahapedia_import/wahapediaSetupDatabase.sql

241 lines
7.4 KiB
MySQL
Raw Normal View History

2022-10-24 01:35:40 -07:00
START TRANSACTION;
DROP TABLE IF EXISTS datasheets_wargear;
DROP TABLE IF EXISTS datasheets_options;
DROP TABLE IF EXISTS datasheets_models;
DROP TABLE IF EXISTS datasheets_keywords;
DROP TABLE IF EXISTS datasheets_damage;
DROP TABLE IF EXISTS strategems;
DROP TABLE IF EXISTS warlord_traits;
DROP TABLE IF EXISTS psychic_powers;
DROP TABLE IF EXISTS datasheets_abilities;
DROP TABLE IF EXISTS abilities;
DROP TABLE IF EXISTS datasheets;
DROP TABLE IF EXISTS wargear_list;
DROP TABLE IF EXISTS wargear;
DROP TABLE IF EXISTS factions;
DROP TABLE IF EXISTS sources;
ALTER DATABASE wahapedia CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "sources";
CREATE TABLE sources (
source_id INT PRIMARY KEY,
name VARCHAR(255),
type VARCHAR(255),
edition INT,
version VARCHAR(255),
errata_date VARCHAR(255),
errata_link VARCHAR(255),
check_me INT DEFAULT 0 /*boolean*/
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "factions";
CREATE TABLE factions (
faction_id VARCHAR(255) PRIMARY KEY,
name VARCHAR(255),
link VARCHAR(255),
is_subfaction VARCHAR(255),
main_faction_id VARCHAR(255),
check_me INT DEFAULT 0 /*boolean*/
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "wargear";
CREATE TABLE wargear (
wargear_id INT PRIMARY KEY,
name VARCHAR(255),
type VARCHAR(255),
description TEXT,
is_relic INT, /*boolean*/
faction_id VARCHAR(255),
legend TEXT,
check_me INT DEFAULT 0, /*boolean*/
CONSTRAINT wargear_fk_factions FOREIGN KEY (faction_id) REFERENCES factions (faction_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "wargear_list";
CREATE TABLE wargear_list (
wargear_id INT,
line INT,
name VARCHAR(255),
weapon_range VARCHAR(255),
type VARCHAR(255),
strength VARCHAR(255),
armor_piercing VARCHAR(255),
damage VARCHAR(255),
abilities TEXT,
check_me INT DEFAULT 0, /*boolean*/
PRIMARY KEY (wargear_id, line),
CONSTRAINT wargear_list_fk_wargear FOREIGN KEY (wargear_id) REFERENCES wargear (wargear_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "datasheets";
CREATE TABLE datasheets (
datasheet_id INT PRIMARY KEY,
name VARCHAR(255),
link VARCHAR(255),
faction_id VARCHAR(255),
source_id INT,
role VARCHAR(255),
unit_composition TEXT,
transport TEXT,
power_points VARCHAR(255),
priest TEXT,
psyker TEXT,
open_play_only INT, /*boolean*/
crusade_only INT, /*boolean*/
virtual_ INT, /*boolean*/
cost INT,
cost_per_unit INT, /*boolean*/
check_me INT DEFAULT 0, /*boolean*/
CONSTRAINT datasheets_fk_factions FOREIGN KEY (faction_id) REFERENCES factions (faction_id),
CONSTRAINT datasheets_fk_sources FOREIGN KEY (source_id) REFERENCES sources (source_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "abilities";
CREATE TABLE abilities (
ability_id INT PRIMARY KEY,
type VARCHAR(255),
name VARCHAR(255),
legend TEXT,
is_other_wargear INT, /*boolean*/
faction_id VARCHAR(255),
description TEXT,
check_me INT DEFAULT 0, /*boolean*/
CONSTRAINT abilities_fk_factions FOREIGN KEY (faction_id) REFERENCES factions (faction_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "datasheets_abilities";
CREATE TABLE datasheets_abilities (
datasheet_id INT,
line INT,
ability_id INT,
is_index_wargear INT, /*boolean*/
cost INT,
model VARCHAR(255),
check_me INT DEFAULT 0, /*boolean*/
PRIMARY KEY (datasheet_id, line),
CONSTRAINT datasheets_abilities_fk_datasheets FOREIGN KEY (datasheet_id) REFERENCES datasheets (datasheet_id),
CONSTRAINT datasheets_abilities_fk_abilities FOREIGN KEY (ability_id) REFERENCES abilities (ability_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "psychic_powers";
CREATE TABLE psychic_powers (
psychic_power_id INT,
roll INT,
name VARCHAR(255),
faction_id VARCHAR(255),
legend TEXT,
type VARCHAR(255),
description TEXT,
check_me INT DEFAULT 0, /*boolean*/
PRIMARY KEY (psychic_power_id, roll),
CONSTRAINT psychic_powers_fk_factions FOREIGN KEY (faction_id) REFERENCES factions (faction_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "warlord_traits";
CREATE TABLE warlord_traits (
trait_id INT PRIMARY KEY AUTO_INCREMENT,
faction_id VARCHAR(255),
type VARCHAR(255),
roll VARCHAR(255),
name VARCHAR(255),
legend TEXT,
description TEXT,
check_me INT DEFAULT 0, /*boolean*/
CONSTRAINT warlord_traits_fk_factions FOREIGN KEY (faction_id) REFERENCES factions (faction_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "strategems";
CREATE TABLE strategems (
strategem_id INT PRIMARY KEY,
faction_id VARCHAR(255),
name VARCHAR(255),
type VARCHAR(255),
cp_cost VARCHAR(255),
legend TEXT,
source_id INT,
description TEXT,
check_me INT DEFAULT 0, /*boolean*/
CONSTRAINT strategems_fk_factions FOREIGN KEY (faction_id) REFERENCES factions (faction_id),
CONSTRAINT strategems_fk_sources FOREIGN KEY (source_id) REFERENCES sources (source_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "datasheets_damage";
CREATE TABLE datasheets_damage (
datasheet_id INT,
line INT,
col1 VARCHAR(255),
col2 VARCHAR(255),
col3 VARCHAR(255),
col4 VARCHAR(255),
col5 VARCHAR(255),
check_me INT DEFAULT 0, /*boolean*/
PRIMARY KEY (datasheet_id, line),
CONSTRAINT datasheets_damage_fk_datasheets FOREIGN KEY (datasheet_id) REFERENCES datasheets (datasheet_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "datasheets_keywords";
CREATE TABLE datasheets_keywords (
datasheet_id INT,
keyword VARCHAR(255),
model VARCHAR(255),
is_faction_keyword INT, /*boolean*/
check_me INT DEFAULT 0, /*boolean*/
PRIMARY KEY (datasheet_id, keyword),
CONSTRAINT datasheets_keywords_fk_datasheets FOREIGN KEY (datasheet_id) REFERENCES datasheets (datasheet_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "datasheets_models";
CREATE TABLE datasheets_models (
datasheet_id INT,
line INT,
name VARCHAR(255),
movement VARCHAR(255),
weapon_skill INT,
ballistic_skill INT,
strength INT,
toughness INT,
wounds INT,
attacks VARCHAR(255),
leadership INT,
save INT,
cost INT,
cost_description TEXT,
models_per_unit VARCHAR(255),
cost_including_wargear INT, /*boolean*/
base_size VARCHAR(255),
base_size_descr VARCHAR(255),
check_me INT DEFAULT 0, /*boolean*/
PRIMARY KEY (datasheet_id, line),
CONSTRAINT datasheets_models_fk_datasheets FOREIGN KEY (datasheet_id) REFERENCES datasheets (datasheet_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "datasheets_options";
CREATE TABLE datasheets_options (
datasheet_id INT,
line INT,
button VARCHAR(255),
description TEXT,
is_index_wargear INT, /*boolean*/
check_me INT DEFAULT 0, /*boolean*/
PRIMARY KEY (datasheet_id, line),
CONSTRAINT datasheets_options_fk_datasheets FOREIGN KEY (datasheet_id) REFERENCES datasheets (datasheet_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SELECT "datasheets_wargear";
CREATE TABLE datasheets_wargear (
datasheet_id INT,
line INT,
wargear_id INT,
cost INT,
is_index_wargear INT, /*boolean*/
model VARCHAR(255),
is_upgrade INT, /*boolean*/
check_me INT DEFAULT 0, /*boolean*/
PRIMARY KEY (datasheet_id, line, is_upgrade),
CONSTRAINT datasheets_wargear_fk_datasheets FOREIGN KEY (datasheet_id) REFERENCES datasheets (datasheet_id),
CONSTRAINT datasheets_wargear_fk_wargear FOREIGN KEY (wargear_id) REFERENCES wargear (wargear_id)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
COMMIT;