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.
lwb6/legacyworlds-server/legacyworlds-server-data/db-structure/parts/data/120-construction-data.sql

82 lines
1.9 KiB
SQL

-- LegacyWorlds Beta 6
-- PostgreSQL database scripts
--
-- Construction queues
--
-- Copyright(C) 2004-2010, DeepClone Development
-- --------------------------------------------------------
--
-- Buildings queues
--
CREATE TABLE verse.bld_queues(
planet_id INT NOT NULL PRIMARY KEY ,
money DOUBLE PRECISION NOT NULL CHECK( money >= 0 ),
work DOUBLE PRECISION NOT NULL CHECK( work >= 0 )
);
ALTER TABLE verse.bld_queues
ADD CONSTRAINT fk_bldqueues_planet
FOREIGN KEY (planet_id) REFERENCES verse.planets;
--
-- Buildings queue items
--
CREATE TABLE verse.bld_items(
queue_id INT NOT NULL ,
queue_order INT NOT NULL CHECK( queue_order >= 0 ) ,
building_id INT NOT NULL ,
destroy BOOLEAN NOT NULL ,
amount INT NOT NULL CHECK( amount > 0 ) ,
PRIMARY KEY( queue_id , queue_order )
);
CREATE INDEX idx_blditems_building
ON verse.bld_items (building_id);
ALTER TABLE verse.bld_items
ADD CONSTRAINT fk_blditems_queue
FOREIGN KEY (queue_id) REFERENCES verse.bld_queues ,
ADD CONSTRAINT fk_blditems_building
FOREIGN KEY (building_id) REFERENCES tech.buildings;
--
-- Military queues
--
CREATE TABLE verse.mil_queues(
planet_id INT NOT NULL PRIMARY KEY ,
money DOUBLE PRECISION NOT NULL CHECK( money >= 0 ),
work DOUBLE PRECISION NOT NULL CHECK( work >= 0 )
);
ALTER TABLE verse.mil_queues
ADD CONSTRAINT fk_milqueues_planet
FOREIGN KEY (planet_id) REFERENCES verse.planets;
--
-- Military queue items
--
CREATE TABLE verse.mil_items(
queue_id INT NOT NULL ,
queue_order INT NOT NULL CHECK( queue_order >= 0 ) ,
ship_id INT NOT NULL ,
amount INT NOT NULL CHECK( amount > 0 ) ,
PRIMARY KEY( queue_id , queue_order )
);
CREATE INDEX idx_militems_ship
ON verse.mil_items (ship_id);
ALTER TABLE verse.mil_items
ADD CONSTRAINT fk_militems_queue
FOREIGN KEY (queue_id) REFERENCES verse.mil_queues ,
ADD CONSTRAINT fk_militems_ship
FOREIGN KEY (ship_id) REFERENCES tech.ships;