All pastes #1419896 Raw Edit

Miscellany

public sql v1 · immutable
#1419896 ·published 2009-05-12 00:11 UTC
rendered paste body
BEGIN;CREATE TABLE positions (	pos_id		BIGINT PRIMARY KEY,	pos_x		DOUBLE PRECISION,	pos_y		DOUBLE PRECISION,	pos_z		DOUBLE PRECISION);CREATE TABLE maps (	map_id		INTEGER PRIMARY KEY,	map_name	TEXT);CREATE TABLE rounds (	round_id	INTEGER PRIMARY KEY,	map_id		INTEGER REFERENCES maps ON DELETE RESTRICT,	began		TIMESTAMP DEFAULT CURRENT_TIMESTAMP,	ended		TIMESTAMP DEFAULT CURRENT_TIMESTAMP);CREATE TABLE entity_states (	state_id	BIGINT PRIMARY KEY,	hp		INTEGER,	armor		INTEGER,	pos_id		BIGINT REFERENCES positions ON DELETE RESTRICT,	round_id	INTEGER REFERENCES rounds ON DELETE RESTRICT);CREATE TYPE entity_type_t AS ENUM (	'map',	'ai',	'human');CREATE TABLE entities (	entity_id	INTEGER PRIMARY KEY,	round_id	INTEGER REFERENCES rounds ON DELETE RESTRICT,	entity_type	entity_type_t,	entity_name	TEXT);CREATE TABLE duels (	duel_id		INTEGER PRIMARY KEY,	round_id	INTEGER REFERENCES rounds ON DELETE RESTRICT,	source_id	INTEGER REFERENCES entities ON DELETE RESTRICT,	dest_id		INTEGER REFERENCES entities ON DELETE RESTRICT);CREATE TABLE events (	event_id	BIGINT PRIMARY KEY,	damage		INTEGER,	source_state	BIGINT REFERENCES entity_states ON DELETE CASCADE,	dest_state	BIGINT REFERENCES entity_states ON DELETE CASCADE,	duel_id		BIGINT REFERENCES duels ON DELETE RESTRICT,	round_id	INTEGER REFERENCES rounds ON DELETE RESTRICT);COMMIT;