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/02-warehouse.sql

70 lines
1.8 KiB
SQL

-- LegacyWorlds Beta 5
-- PostgreSQL database scripts
--
-- beta5/structure/02-warehouse.sql
--
-- Beta 5 games:
-- The tables in which the day ticks store the game's
-- history
--
-- Copyright(C) 2004-2007, DeepClone Development
-- --------------------------------------------------------
CREATE TABLE bt_debug (
id BIGSERIAL NOT NULL PRIMARY KEY,
tick_time INT NOT NULL DEFAULT UNIX_TIMESTAMP(NOW()),
txt TEXT NOT NULL
);
CREATE INDEX bt_time ON bt_debug (tick_time);
CREATE RULE bt_debug_cleaner AS
ON INSERT TO bt_debug DO ALSO
DELETE FROM bt_debug WHERE UNIX_TIMESTAMP(NOW()) - tick_time > 3 * 86400;
GRANT INSERT,DELETE ON bt_debug TO legacyworlds;
GRANT SELECT,UPDATE ON bt_debug_id_seq TO legacyworlds;
CREATE TABLE warehouse (
id BIGSERIAL NOT NULL PRIMARY KEY,
player BIGINT NOT NULL REFERENCES player (id),
tick_at INT NOT NULL DEFAULT UNIX_TIMESTAMP(NOW()),
cash BIGINT NOT NULL,
a_tag VARCHAR(5),
g_rank BIGINT NOT NULL,
c_rank BIGINT NOT NULL,
m_rank BIGINT NOT NULL,
f_rank BIGINT NOT NULL,
d_rank BIGINT NOT NULL,
o_rank BIGINT,
gaships INT NOT NULL,
fighters INT NOT NULL,
cruisers INT NOT NULL,
bcruisers INT NOT NULL,
fleet INT NOT NULL,
tech_list TEXT NOT NULL,
tech_points BIGINT NOT NULL,
UNIQUE (player, tick_at)
);
GRANT INSERT,SELECT,DELETE ON warehouse TO legacyworlds;
GRANT SELECT,UPDATE ON warehouse_id_seq TO legacyworlds;
CREATE TABLE wh_planet (
id BIGINT NOT NULL REFERENCES warehouse (id) ON DELETE CASCADE,
planet BIGINT NOT NULL REFERENCES planet (id),
name VARCHAR(15) NOT NULL,
pop INT NOT NULL,
max_pop INT NOT NULL,
ifact INT NOT NULL,
mfact INT NOT NULL,
turrets INT NOT NULL,
happiness SMALLINT NOT NULL,
beacon SMALLINT NOT NULL,
abandon SMALLINT,
corruption INT,
PRIMARY KEY (id, planet)
);
GRANT INSERT,SELECT,DELETE ON wh_planet TO legacyworlds;