38 lines
925 B
MySQL
38 lines
925 B
MySQL
|
|
-- +goose Up
|
||
|
|
CREATE TYPE SignalType AS ENUM (
|
||
|
|
'flyover.pool',
|
||
|
|
'plan.followup',
|
||
|
|
'publicreport.water',
|
||
|
|
'publicreport.nuisance',
|
||
|
|
'residual.exiring',
|
||
|
|
'surveillance.observation',
|
||
|
|
'trap.spike'
|
||
|
|
);
|
||
|
|
CREATE TYPE MosquitoSpecies AS ENUM (
|
||
|
|
'aedes aegypti',
|
||
|
|
'aedes albopictus',
|
||
|
|
'culex pipiens',
|
||
|
|
'culex tarsalis'
|
||
|
|
);
|
||
|
|
CREATE TABLE signal (
|
||
|
|
addressed TIMESTAMP WITHOUT TIME ZONE,
|
||
|
|
addressor INTEGER REFERENCES user_(id),
|
||
|
|
created TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||
|
|
creator INTEGER NOT NULL REFERENCES user_(id),
|
||
|
|
id SERIAL NOT NULL,
|
||
|
|
organization_id INTEGER NOT NULL REFERENCES organization(id),
|
||
|
|
species MosquitoSpecies,
|
||
|
|
title TEXT NOT NULL,
|
||
|
|
type_ SignalType NOT NULL,
|
||
|
|
PRIMARY KEY(id)
|
||
|
|
);
|
||
|
|
CREATE TABLE signal_pool (
|
||
|
|
pool_id INTEGER NOT NULL REFERENCES pool(id),
|
||
|
|
signal_id INTEGER NOT NULL REFERENCES signal(id)
|
||
|
|
);
|
||
|
|
-- +goose Down
|
||
|
|
DROP TABLE signal_pool;
|
||
|
|
DROP TABLE signal;
|
||
|
|
DROP TYPE MosquitoSpecies;
|
||
|
|
DROP TYPE SignalType;
|