This repository has been archived on 2024-07-18. You can view files and clone it, but cannot push or open issues or pull requests.
lwb5/sql/beta5/structure/00-player-table.sql

42 lines
1.4 KiB
SQL

-- LegacyWorlds Beta 5
-- PostgreSQL database scripts
--
-- beta5/structure/00-player-table.sql
--
-- Beta 5 games:
-- Table that stores player data, minus its foreign keys
-- which will be defined in 99-player-fk.sql
--
-- Copyright(C) 2004-2007, DeepClone Development
-- --------------------------------------------------------
CREATE TABLE player (
id BIGSERIAL NOT NULL PRIMARY KEY,
userid BIGINT NOT NULL REFERENCES main.account (id),
name VARCHAR(15),
quit INT,
cash INT NOT NULL DEFAULT 20000,
alliance INT,
a_status CHAR(3) NULL CHECK(a_status IS NULL OR a_status IN ('REQ', 'IN')),
a_grade BIGINT,
a_vote BIGINT,
first_planet BIGINT,
restrain SMALLINT NOT NULL DEFAULT 10,
research VARCHAR(8) NOT NULL DEFAULT '20!40!40',
res_assistance BIGINT REFERENCES player (id),
bh_unhappiness INT NOT NULL DEFAULT 0,
probe_policy CHAR(4) NOT NULL DEFAULT '2110',
hidden BOOLEAN NOT NULL DEFAULT FALSE
);
CREATE INDEX player_alliance ON player (alliance);
CREATE INDEX player_name ON player (name);
CREATE INDEX player_userid ON player (userid);
CREATE INDEX player_a_vote ON player (a_vote);
CREATE INDEX player_a_grade ON player (a_grade);
CREATE INDEX player_res_assistance ON player (res_assistance);
CREATE INDEX player_first_planet ON player (first_planet);
GRANT SELECT,INSERT,UPDATE ON player TO legacyworlds;
GRANT SELECT,UPDATE ON player_id_seq TO legacyworlds;