Skip to content

Instantly share code, notes, and snippets.

@Brahyt
Created November 8, 2019 19:04
Show Gist options
  • Select an option

  • Save Brahyt/49f8c77f72b12e7bb4523fabe3ef6fe2 to your computer and use it in GitHub Desktop.

Select an option

Save Brahyt/49f8c77f72b12e7bb4523fabe3ef6fe2 to your computer and use it in GitHub Desktop.
DROP TYPE IF EXISTS race CASCADE;
CREATE TYPE race AS ENUM (
'Human',
'Shield Dwarf',
'Half-Orc',
'Half-Elf',
'Sun-Elf'
);
DROP TYPE IF EXISTS char_class CASCADE;
CREATE TYPE char_class AS ENUM (
'Arcane',
'Deception',
'Martial',
'Devotion'
);
DROP TYPE IF EXISTS sub_class CASCADE;
CREATE TYPE sub_class AS ENUM (
'Wizard',
'Rogue',
'Fighter',
'Cleric'
);
DROP TABLE IF EXISTS feature_pack CASCADE;
CREATE TABLE IF NOT EXISTS feature_pack (
feature_pack_id INTEGER PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
feature_title VARCHAR(128) NOT NULL,
feature_description VARCHAR(256) NOT NULL
);
DROP TABLE IF EXISTS equipment_pack CASCADE;
CREATE TABLE IF NOT EXISTS equipment_pack (
equipment_pack_id INTEGER PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
arcane_icon SMALLINT,
deception_icon SMALLINT,
martial_icon SMALLINT,
devotion_icon SMALLINT
);
DROP TABLE IF EXISTS characters CASCADE;
CREATE TABLE IF NOT EXISTS characters (
char_id INTEGER PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
name VARCHAR(56) NOT NULL,
race race NOT NULL,
char_class char_class NOT NULL,
sub_class sub_class NOT NULL,
xp SMALLINT NOT NULL,
hand_size SMALLINT NOT NULL,
health SMALLINT NOT NULL,
equipment_pack_id INT,
feature_slot_1_id INT,
feature_slot_2_id INT,
feature_slot_3_id INT,
feature_slot_4_id INT,
feature_slot_5_id INT,
feature_slot_6_id INT,
FOREIGN KEY (equipment_pack_id) REFERENCES equipment_pack(equipment_pack_id),
FOREIGN KEY (feature_slot_1_id) REFERENCES feature_pack(feature_pack_id),
FOREIGN KEY (feature_slot_2_id) REFERENCES feature_pack(feature_pack_id),
FOREIGN KEY (feature_slot_3_id) REFERENCES feature_pack(feature_pack_id),
FOREIGN KEY (feature_slot_4_id) REFERENCES feature_pack(feature_pack_id),
FOREIGN KEY (feature_slot_5_id) REFERENCES feature_pack(feature_pack_id),
FOREIGN KEY (feature_slot_6_id) REFERENCES feature_pack(feature_pack_id)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment