changeset 4930:8b83b18a1d49 fairway-marks-import

Added database models for group layers.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 14 Feb 2020 17:31:17 +0100
parents 9b9b4150f296
children e41d42be0e13
files schema/gemma.sql schema/updates/1402/01.group_layers.sql schema/version.sql
diffstat 3 files changed, 29 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/schema/gemma.sql	Fri Feb 14 16:48:07 2020 +0100
+++ b/schema/gemma.sql	Fri Feb 14 17:31:17 2020 +0100
@@ -414,6 +414,20 @@
         CHECK (to_regclass(schema || '.' || name) IS NOT NULL
             OR view_def IS NOT NULL)
     )
+
+    CREATE TABLE layer_groups (
+       name varchar PRIMARY KEY
+    )
+
+    CREATE TABLE grouped_layers (
+       group_name varchar REFERENCES layer_groups ON DELETE CASCADE,
+       schema     varchar,
+       name       varchar,
+       ord        int NOT NULL DEFAULT 0,
+       PRIMARY KEY (group_name, schema, name),
+       UNIQUE (group_name, schema, name, ord),
+       FOREIGN KEY(schema, name) REFERENCES published_services
+    )
 ;
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/schema/updates/1402/01.group_layers.sql	Fri Feb 14 17:31:17 2020 +0100
@@ -0,0 +1,14 @@
+CREATE TABLE sys_admin.layer_groups (
+    name varchar PRIMARY KEY
+);
+
+CREATE TABLE sys_admin.grouped_layers (
+    group_name varchar REFERENCES sys_admin.layer_groups ON DELETE CASCADE,
+    schema     varchar,
+    name       varchar,
+    ord        int NOT NULL DEFAULT 0,
+    PRIMARY KEY (group_name, schema, name),
+    UNIQUE (group_name, schema, name, ord),
+    FOREIGN KEY(schema, name) REFERENCES sys_admin.published_services
+);
+
--- a/schema/version.sql	Fri Feb 14 16:48:07 2020 +0100
+++ b/schema/version.sql	Fri Feb 14 17:31:17 2020 +0100
@@ -1,1 +1,1 @@
-INSERT INTO gemma_schema_version(version) VALUES (1401);
+INSERT INTO gemma_schema_version(version) VALUES (1402);