Create types only if they don't exist #302

This commit is contained in:
Rafa de la Torre
2016-11-23 16:38:47 +01:00
parent abbb227ad5
commit decc7626a8
+10 -1
View File
@@ -1,3 +1,6 @@
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'service_type') THEN
CREATE TYPE cdb_dataservices_server.service_type AS ENUM ( CREATE TYPE cdb_dataservices_server.service_type AS ENUM (
'isolines', 'isolines',
'hires_geocoder', 'hires_geocoder',
@@ -5,7 +8,12 @@ CREATE TYPE cdb_dataservices_server.service_type AS ENUM (
'observatory', 'observatory',
'internal_geocoder' 'internal_geocoder'
); );
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'service_params') THEN
CREATE TYPE cdb_dataservices_server.service_params AS ( CREATE TYPE cdb_dataservices_server.service_params AS (
service cdb_dataservices_server.service_type, service cdb_dataservices_server.service_type,
monthly_quota NUMERIC, monthly_quota NUMERIC,
@@ -13,7 +21,8 @@ CREATE TYPE cdb_dataservices_server.service_params AS (
soft_limit BOOLEAN, soft_limit BOOLEAN,
provider TEXT provider TEXT
); );
END IF;
END $$;
CREATE OR REPLACE FUNCTION cdb_dataservices_server.cdb_service_params( CREATE OR REPLACE FUNCTION cdb_dataservices_server.cdb_service_params(
username TEXT, username TEXT,