nidus-sync/db/migrations/00120_signal_location.sql

13 lines
667 B
SQL

-- +goose Up
DELETE FROM signal;
ALTER TABLE signal ADD COLUMN location Geometry(Geometry, 4326) NOT NULL;
ALTER TABLE signal ADD COLUMN location_type TEXT GENERATED ALWAYS AS (GeometryType(location)) STORED;
ALTER TABLE signal ADD CONSTRAINT valid_location_types
CHECK (location_type IN ('POINT', 'POLYGON', 'MULTIPOLYGON'));
CREATE INDEX idx_signal_location ON signal USING GIST(location);
CREATE INDEX idx_signal_location_type ON signal(location_type);
-- +goose Down
ALTER TABLE signal DROP INDEX idx_signal_location_type;
ALTER TABLE signal DROP INDEX idx_signal_location;
ALTER TABLE signal DROP COLUMN location_type;
ALTER TABLE signal DROP COLUMN location;