Files
estus-shots-py/estusshots/schema.sql

134 lines
2.6 KiB
SQL

create table if not exists season
(
id integer not null
constraint season_pk
primary key autoincrement,
game text,
description text,
start text,
end text,
code text not null
);
create unique index if not exists season_id_uindex
on season (id);
create table if not exists player
(
id integer not null
constraint player_pk
primary key autoincrement,
real_name text,
alias text not null,
hex_id text,
anon integer not null
);
create unique index if not exists player_id_uindex
on player (id);
create table if not exists drink
(
id integer not null
constraint drink_pk
primary key autoincrement,
name text not null,
vol real not null
);
create unique index if not exists drink_id_uindex
on drink (id);
create table if not exists enemy
(
id integer not null
constraint enemy_pk
primary key autoincrement,
name text not null,
boss integer not null,
season_id integer,
foreign key (season_id) references season(id)
);
create unique index if not exists enemy_id_uindex
on enemy (id);
create table if not exists episode
(
id integer not null
constraint episode_pk
primary key autoincrement,
season_id integer not null
constraint episode_season_id_fk
references season,
title text not null,
date text not null,
start timestamp not null,
end timestamp not null,
code text not null default 'EXX'
);
create unique index if not exists episode_id_uindex
on episode (id);
create table if not exists episode_player
(
link_id integer not null
constraint episode_player_pk
primary key autoincrement,
episode_id integer not null
references episode,
player_id integer not null
references player
);
create table if not exists penalty
(
id integer not null
constraint penalty_pk
primary key autoincrement,
episode_id integer not null
references episode,
drink_id integer not null
references drink
);
create unique index if not exists penalty_id_uindex
on penalty (id);
create table if not exists event
(
id integer not null
constraint event_pk
primary key autoincrement,
episode_id integer not null
constraint event_episode_id_fk
references season,
player_id integer not null
constraint event_player_id_fk
references player,
enemy_id integer
references enemy,
type text not null,
time timestamp not null,
comment text
);
create unique index if not exists event_id_uindex
on event (id);
create table if not exists event_penalty
(
link_id integer not null
constraint event_punishment_pk
primary key autoincrement,
event_id integer not null
references event,
punishment_id integer not null
references punishment
);