39 lines
1.3 KiB
MySQL
39 lines
1.3 KiB
MySQL
|
-- 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;
|
||
|
|