From 52c73065637851aa74cff3089e3c2bf252349e30 Mon Sep 17 00:00:00 2001 From: lukasmartinelli Date: Fri, 28 Oct 2016 12:01:43 +0200 Subject: [PATCH] Check if type exists before creating in highway --- layers/highway/types.sql | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/layers/highway/types.sql b/layers/highway/types.sql index 92b6bba..2186b86 100644 --- a/layers/highway/types.sql +++ b/layers/highway/types.sql @@ -1,8 +1,19 @@ -DROP TYPE IF EXISTS highway_class CASCADE; -CREATE TYPE highway_class AS ENUM ('motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'minor_road', 'path'); +DO $$ +BEGIN + IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'highway_class') THEN + CREATE TYPE highway_class AS ENUM ('motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'minor_road', 'path'); + END IF; +END +$$; + +DO $$ +BEGIN + IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'highway_class') THEN + CREATE TYPE highway_properties AS ENUM ('bridge:oneway', 'tunnel:oneway', 'ramp', 'ford', 'bridge', 'tunnel', 'oneway'); + END IF; +END +$$; -DROP TYPE IF EXISTS highway_properties CASCADE; -CREATE TYPE highway_properties AS ENUM ('bridge:oneway', 'tunnel:oneway', 'ramp', 'ford', 'bridge', 'tunnel', 'oneway'); CREATE OR REPLACE FUNCTION to_highway_class(highway TEXT) RETURNS highway_class AS $$ SELECT CASE