38 lines
1.3 KiB
SQL
38 lines
1.3 KiB
SQL
-- LegacyWorlds Beta 5
|
|
-- PostgreSQL database scripts
|
|
--
|
|
-- beta5/structure/03-fleets.sql
|
|
--
|
|
-- Beta 5 games:
|
|
-- The table that containst fleet-related data
|
|
--
|
|
-- Copyright(C) 2004-2007, DeepClone Development
|
|
-- --------------------------------------------------------
|
|
|
|
|
|
CREATE TABLE fleet (
|
|
id BIGSERIAL NOT NULL PRIMARY KEY,
|
|
owner BIGINT NOT NULL REFERENCES player (id),
|
|
name VARCHAR(64) NOT NULL DEFAULT 'No Name',
|
|
location BIGINT REFERENCES planet (id),
|
|
gaships INT NOT NULL DEFAULT 0 CHECK (gaships >= 0),
|
|
fighters INT NOT NULL DEFAULT 0 CHECK (fighters >= 0),
|
|
cruisers INT NOT NULL DEFAULT 0 CHECK (cruisers >= 0),
|
|
bcruisers INT NOT NULL DEFAULT 0 CHECK (bcruisers >= 0),
|
|
attacking BOOLEAN NOT NULL DEFAULT FALSE,
|
|
can_move CHAR(1) NOT NULL DEFAULT 'Y' CHECK(can_move IN ('Y','H','B')),
|
|
moving BIGINT REFERENCES moving_object (id) ON DELETE SET NULL,
|
|
waiting BIGINT REFERENCES hs_wait (id) ON DELETE SET NULL,
|
|
time_spent INT NOT NULL DEFAULT 0,
|
|
sale SMALLINT,
|
|
CHECK(gaships + fighters + cruisers + bcruisers > 0)
|
|
);
|
|
|
|
CREATE INDEX fleet_owner ON fleet (owner);
|
|
CREATE INDEX fleet_location ON fleet (location);
|
|
CREATE INDEX fleet_moving ON fleet (moving);
|
|
CREATE INDEX fleet_waiting ON fleet (waiting);
|
|
|
|
GRANT INSERT,SELECT,DELETE,UPDATE ON fleet TO legacyworlds;
|
|
GRANT SELECT,UPDATE ON fleet_id_seq TO legacyworlds;
|
|
|