Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / sql / Pg-upgrade2 / custom_data_export.sql
diff --git a/sql/Pg-upgrade2/custom_data_export.sql b/sql/Pg-upgrade2/custom_data_export.sql
new file mode 100644 (file)
index 0000000..b595932
--- /dev/null
@@ -0,0 +1,37 @@
+-- @tag: custom_data_export
+-- @description: Benutzerdefinierter Datenexport
+-- @depends: release_3_5_0
+CREATE TYPE custom_data_export_query_parameter_type_enum AS ENUM ('text', 'number', 'date', 'timestamp');
+
+CREATE TABLE custom_data_export_queries (
+  id           SERIAL,
+  name         TEXT      NOT NULL,
+  description  TEXT      NOT NULL,
+  sql_query    TEXT      NOT NULL,
+  access_right TEXT,
+  itime        TIMESTAMP NOT NULL DEFAULT now(),
+  mtime        TIMESTAMP NOT NULL DEFAULT now(),
+
+  PRIMARY KEY (id)
+);
+
+CREATE TABLE custom_data_export_query_parameters (
+  id             SERIAL,
+  query_id       INTEGER NOT NULL,
+  name           TEXT NOT NULL,
+  description    TEXT,
+  parameter_type custom_data_export_query_parameter_type_enum NOT NULL,
+  itime          TIMESTAMP NOT NULL DEFAULT now(),
+  mtime          TIMESTAMP NOT NULL DEFAULT now(),
+
+  PRIMARY KEY (id),
+  FOREIGN KEY (query_id) REFERENCES custom_data_export_queries (id) ON DELETE CASCADE
+);
+
+CREATE TRIGGER mtime_custom_data_export_queries
+BEFORE UPDATE ON custom_data_export_queries
+FOR EACH ROW EXECUTE PROCEDURE set_mtime();
+
+CREATE TRIGGER mtime_custom_data_export_query_parameters
+BEFORE UPDATE ON custom_data_export_query_parameters
+FOR EACH ROW EXECUTE PROCEDURE set_mtime();