Maximilian Keßler
3ab35eb10d
Since all games on a particular seed have the same starting player, we should store this accordingly. Note that this option is only used for old seeds (before 2020) from the hanab.live database. Regardless, we need to support this to be able to support these old games.
30 lines
No EOL
1.1 KiB
SQL
30 lines
No EOL
1.1 KiB
SQL
DROP TABLE IF EXISTS seeds CASCADE;
|
|
CREATE TABLE seeds (
|
|
seed TEXT NOT NULL PRIMARY KEY,
|
|
num_players SMALLINT NOT NULL,
|
|
variant_id SMALLINT NOT NULL,
|
|
deck VARCHAR(62) NOT NULL,
|
|
starting_player SMALLINT NOT NULL DEFAULT 0,
|
|
feasible BOOLEAN DEFAULT NULL,
|
|
max_score_theoretical SMALLINT
|
|
);
|
|
CREATE INDEX seeds_variant_idx ON seeds (variant_id);
|
|
|
|
|
|
DROP TABLE IF EXISTS games CASCADE;
|
|
CREATE TABLE games (
|
|
id INT PRIMARY KEY,
|
|
seed TEXT NOT NULL REFERENCES seeds,
|
|
num_players SMALLINT NOT NULL,
|
|
score SMALLINT NOT NULL,
|
|
variant_id SMALLINT NOT NULL,
|
|
deck_plays BOOLEAN,
|
|
one_extra_card BOOLEAN,
|
|
one_less_card BOOLEAN,
|
|
all_or_nothing BOOLEAN,
|
|
num_turns SMALLINT,
|
|
actions TEXT
|
|
);
|
|
CREATE INDEX games_seed_score_idx ON games (seed, score);
|
|
CREATE INDEX games_var_seed_idx ON games (variant_id, seed);
|
|
CREATE INDEX games_player_idx ON games (num_players); |