(no commit message)
authorChristian Weiske <cweiske@cweiske.de>
Wed, 5 Feb 2020 15:06:08 +0000 (16:06 +0100)
committerwww-cweiske <www-cweiske@ahso3>
Wed, 5 Feb 2020 15:06:08 +0000 (16:06 +0100)
1-add.sql [new file with mode: 0644]
2-remove.sql [new file with mode: 0644]

diff --git a/1-add.sql b/1-add.sql
new file mode 100644 (file)
index 0000000..126b4cc
--- /dev/null
+++ b/1-add.sql
@@ -0,0 +1,20 @@
+UPDATE node_data\r
+JOIN nodes ON nodes.id = node_data.node_id\r
+SET external = "{}"\r
+WHERE\r
+  node_data.external IS NULL\r
+  AND nodes.available_for_rent = 1;\r
+\r
+UPDATE node_data\r
+JOIN nodes ON nodes.id = node_data.node_id\r
+SET external = JSON_SET(external, '$.export_portals', JSON_ARRAY())\r
+WHERE\r
+  NOT JSON_CONTAINS_PATH(external, 'all', '$.export_portals')\r
+  AND nodes.available_for_rent = 1;\r
+\r
+UPDATE node_data\r
+JOIN nodes ON nodes.id = node_data.node_id\r
+SET external = JSON_ARRAY_APPEND(external, '$.export_portals', 'hpm-api')\r
+WHERE\r
+  NOT JSON_CONTAINS(external, '["hpm-api"]', '$.export_portals')\r
+  AND nodes.available_for_rent = 1;\r
diff --git a/2-remove.sql b/2-remove.sql
new file mode 100644 (file)
index 0000000..0f73a5a
--- /dev/null
@@ -0,0 +1,20 @@
+UPDATE node_data\r
+JOIN nodes ON nodes.id = node_data.node_id\r
+SET external = JSON_REMOVE(external, JSON_UNQUOTE(JSON_SEARCH(external, 'one', 'hpm-api', NULL, '$.export_portals')))\r
+WHERE\r
+  JSON_CONTAINS(external, '["hpm-api"]', '$.export_portals')\r
+  AND nodes.available_for_rent = 1;\r
+\r
+UPDATE node_data\r
+JOIN nodes ON nodes.id = node_data.node_id\r
+SET external = JSON_REMOVE(external, '$.export_portals')\r
+WHERE\r
+  external->'$.export_portals' = JSON_ARRAY()\r
+  AND nodes.available_for_rent = 1;\r
+\r
+UPDATE node_data\r
+JOIN nodes ON nodes.id = node_data.node_id\r
+SET external = NULL\r
+WHERE\r
+  external = JSON_OBJECT()\r
+  AND nodes.available_for_rent = 1;\r