2017-05-31 18:55:59 +03:00
|
|
|
--
|
2022-01-17 14:07:46 +02:00
|
|
|
-- Copyright © 2016-2022 The Thingsboard Authors
|
2017-05-31 18:55:59 +03:00
|
|
|
--
|
|
|
|
|
-- Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
|
-- you may not use this file except in compliance with the License.
|
|
|
|
|
-- You may obtain a copy of the License at
|
|
|
|
|
--
|
|
|
|
|
-- http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
--
|
|
|
|
|
-- Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
-- distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
|
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
|
-- See the License for the specific language governing permissions and
|
|
|
|
|
-- limitations under the License.
|
|
|
|
|
--
|
2017-06-01 16:50:37 +03:00
|
|
|
|
2020-08-03 11:09:13 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS tb_schema_settings
|
|
|
|
|
(
|
|
|
|
|
schema_version bigint NOT NULL,
|
|
|
|
|
CONSTRAINT tb_schema_settings_pkey PRIMARY KEY (schema_version)
|
|
|
|
|
);
|
|
|
|
|
|
2020-08-03 12:25:33 +03:00
|
|
|
CREATE OR REPLACE PROCEDURE insert_tb_schema_settings()
|
|
|
|
|
LANGUAGE plpgsql AS
|
|
|
|
|
$$
|
|
|
|
|
BEGIN
|
|
|
|
|
IF (SELECT COUNT(*) FROM tb_schema_settings) = 0 THEN
|
2021-04-08 10:30:30 +03:00
|
|
|
INSERT INTO tb_schema_settings (schema_version) VALUES (3003000);
|
2020-08-03 12:25:33 +03:00
|
|
|
END IF;
|
|
|
|
|
END;
|
|
|
|
|
$$;
|
|
|
|
|
|
|
|
|
|
call insert_tb_schema_settings();
|
2017-05-31 18:55:59 +03:00
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS admin_settings (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT admin_settings_pkey PRIMARY KEY,
|
2022-05-19 12:01:06 +03:00
|
|
|
tenant_id uuid NOT NULL,
|
2020-06-22 11:10:28 +03:00
|
|
|
created_time bigint NOT NULL,
|
2017-07-01 20:39:00 +03:00
|
|
|
json_value varchar,
|
2017-07-17 17:32:32 +03:00
|
|
|
key varchar(255)
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS alarm (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT alarm_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2017-05-31 18:55:59 +03:00
|
|
|
ack_ts bigint,
|
|
|
|
|
clear_ts bigint,
|
2017-07-01 20:39:00 +03:00
|
|
|
additional_info varchar,
|
2017-05-31 18:55:59 +03:00
|
|
|
end_ts bigint,
|
2020-06-22 11:10:28 +03:00
|
|
|
originator_id uuid,
|
2017-05-31 18:55:59 +03:00
|
|
|
originator_type integer,
|
|
|
|
|
propagate boolean,
|
2017-07-17 17:32:32 +03:00
|
|
|
severity varchar(255),
|
2017-05-31 18:55:59 +03:00
|
|
|
start_ts bigint,
|
2017-07-17 17:32:32 +03:00
|
|
|
status varchar(255),
|
2020-06-22 11:10:28 +03:00
|
|
|
tenant_id uuid,
|
2021-05-07 16:05:54 +03:00
|
|
|
customer_id uuid,
|
2019-12-08 23:52:29 +02:00
|
|
|
propagate_relation_types varchar,
|
2022-01-19 11:49:38 +02:00
|
|
|
type varchar(255),
|
|
|
|
|
propagate_to_owner boolean,
|
|
|
|
|
propagate_to_tenant boolean
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
2021-12-07 18:50:16 +02:00
|
|
|
CREATE TABLE IF NOT EXISTS entity_alarm (
|
|
|
|
|
tenant_id uuid NOT NULL,
|
|
|
|
|
entity_type varchar(32),
|
|
|
|
|
entity_id uuid NOT NULL,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
alarm_type varchar(255) NOT NULL,
|
|
|
|
|
customer_id uuid,
|
|
|
|
|
alarm_id uuid,
|
2021-12-09 15:12:03 +02:00
|
|
|
CONSTRAINT entity_alarm_pkey PRIMARY KEY (entity_id, alarm_id),
|
2021-12-07 18:50:16 +02:00
|
|
|
CONSTRAINT fk_entity_alarm_id FOREIGN KEY (alarm_id) REFERENCES alarm(id) ON DELETE CASCADE
|
|
|
|
|
);
|
|
|
|
|
|
2022-03-30 16:42:33 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS asset (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT asset_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
additional_info varchar,
|
|
|
|
|
customer_id uuid,
|
|
|
|
|
name varchar(255),
|
|
|
|
|
label varchar(255),
|
|
|
|
|
search_text varchar(255),
|
|
|
|
|
tenant_id uuid,
|
|
|
|
|
type varchar(255),
|
|
|
|
|
external_id uuid,
|
|
|
|
|
CONSTRAINT asset_name_unq_key UNIQUE (tenant_id, name)
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
2018-02-09 17:17:44 +02:00
|
|
|
CREATE TABLE IF NOT EXISTS audit_log (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT audit_log_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
tenant_id uuid,
|
|
|
|
|
customer_id uuid,
|
|
|
|
|
entity_id uuid,
|
2018-02-09 17:17:44 +02:00
|
|
|
entity_type varchar(255),
|
|
|
|
|
entity_name varchar(255),
|
2020-06-22 11:10:28 +03:00
|
|
|
user_id uuid,
|
2018-02-09 17:17:44 +02:00
|
|
|
user_name varchar(255),
|
|
|
|
|
action_type varchar(255),
|
2018-02-21 20:05:03 +02:00
|
|
|
action_data varchar(1000000),
|
2018-02-09 17:17:44 +02:00
|
|
|
action_status varchar(255),
|
2018-02-21 20:05:03 +02:00
|
|
|
action_failure_details varchar(1000000)
|
2018-02-09 17:17:44 +02:00
|
|
|
);
|
|
|
|
|
|
2017-06-13 16:29:40 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS attribute_kv (
|
2017-07-17 17:32:32 +03:00
|
|
|
entity_type varchar(255),
|
2020-06-22 11:10:28 +03:00
|
|
|
entity_id uuid,
|
2017-07-17 17:32:32 +03:00
|
|
|
attribute_type varchar(255),
|
|
|
|
|
attribute_key varchar(255),
|
2017-06-09 19:52:26 +03:00
|
|
|
bool_v boolean,
|
2017-08-17 16:38:13 +03:00
|
|
|
str_v varchar(10000000),
|
2017-06-09 19:52:26 +03:00
|
|
|
long_v bigint,
|
|
|
|
|
dbl_v double precision,
|
2020-02-14 19:18:18 +02:00
|
|
|
json_v json,
|
2017-06-09 19:52:26 +03:00
|
|
|
last_update_ts bigint,
|
2018-12-20 14:53:16 +01:00
|
|
|
CONSTRAINT attribute_kv_pkey PRIMARY KEY (entity_type, entity_id, attribute_type, attribute_key)
|
2017-06-09 19:52:26 +03:00
|
|
|
);
|
|
|
|
|
|
2017-05-31 18:55:59 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS component_descriptor (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT component_descriptor_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2017-07-17 17:32:32 +03:00
|
|
|
actions varchar(255),
|
2018-10-30 13:32:55 +02:00
|
|
|
clazz varchar UNIQUE,
|
2017-07-01 20:39:00 +03:00
|
|
|
configuration_descriptor varchar,
|
2017-07-17 17:32:32 +03:00
|
|
|
name varchar(255),
|
|
|
|
|
scope varchar(255),
|
|
|
|
|
search_text varchar(255),
|
|
|
|
|
type varchar(255)
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS customer (
|
2022-03-30 16:42:33 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT customer_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
additional_info varchar,
|
|
|
|
|
address varchar,
|
|
|
|
|
address2 varchar,
|
|
|
|
|
city varchar(255),
|
|
|
|
|
country varchar(255),
|
|
|
|
|
email varchar(255),
|
|
|
|
|
phone varchar(255),
|
|
|
|
|
search_text varchar(255),
|
|
|
|
|
state varchar(255),
|
|
|
|
|
tenant_id uuid,
|
|
|
|
|
title varchar(255),
|
|
|
|
|
zip varchar(255),
|
|
|
|
|
external_id uuid
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
2022-03-30 16:42:33 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS dashboard (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT dashboard_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
configuration varchar,
|
2018-02-27 18:30:23 +02:00
|
|
|
assigned_customers varchar(1000000),
|
2022-03-30 16:42:33 +03:00
|
|
|
search_text varchar(255),
|
|
|
|
|
tenant_id uuid,
|
|
|
|
|
title varchar(255),
|
|
|
|
|
mobile_hide boolean DEFAULT false,
|
|
|
|
|
mobile_order int,
|
|
|
|
|
image varchar(1000000),
|
|
|
|
|
external_id uuid
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
2020-09-04 12:53:22 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS rule_chain (
|
2022-03-30 16:42:33 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT rule_chain_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
additional_info varchar,
|
|
|
|
|
configuration varchar(10000000),
|
|
|
|
|
name varchar(255),
|
|
|
|
|
type varchar(255),
|
|
|
|
|
first_rule_node_id uuid,
|
|
|
|
|
root boolean,
|
|
|
|
|
debug_mode boolean,
|
|
|
|
|
search_text varchar(255),
|
|
|
|
|
tenant_id uuid,
|
|
|
|
|
external_id uuid
|
2020-09-04 12:53:22 +03:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS rule_node (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT rule_node_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
rule_chain_id uuid,
|
|
|
|
|
additional_info varchar,
|
|
|
|
|
configuration varchar(10000000),
|
|
|
|
|
type varchar(255),
|
|
|
|
|
name varchar(255),
|
|
|
|
|
debug_mode boolean,
|
2022-06-17 16:10:29 +03:00
|
|
|
search_text varchar(255),
|
|
|
|
|
external_id uuid
|
2020-09-04 12:53:22 +03:00
|
|
|
);
|
|
|
|
|
|
2020-10-02 17:55:40 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS rule_node_state (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT rule_node_state_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
rule_node_id uuid NOT NULL,
|
|
|
|
|
entity_type varchar(32) NOT NULL,
|
|
|
|
|
entity_id uuid NOT NULL,
|
|
|
|
|
state_data varchar(16384) NOT NULL,
|
|
|
|
|
CONSTRAINT rule_node_state_unq_key UNIQUE (rule_node_id, entity_id),
|
|
|
|
|
CONSTRAINT fk_rule_node_state_node_id FOREIGN KEY (rule_node_id) REFERENCES rule_node(id) ON DELETE CASCADE
|
|
|
|
|
);
|
|
|
|
|
|
2021-05-31 16:43:33 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS ota_package (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT ota_package_pkey PRIMARY KEY,
|
2021-04-08 11:45:29 +03:00
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
tenant_id uuid NOT NULL,
|
2021-04-29 17:00:05 +03:00
|
|
|
device_profile_id uuid ,
|
2021-04-28 12:44:57 +03:00
|
|
|
type varchar(32) NOT NULL,
|
2021-04-08 11:45:29 +03:00
|
|
|
title varchar(255) NOT NULL,
|
2021-04-09 15:32:06 +03:00
|
|
|
version varchar(255) NOT NULL,
|
2021-07-22 17:44:45 +03:00
|
|
|
tag varchar(255),
|
2021-06-03 18:34:39 +03:00
|
|
|
url varchar(255),
|
2021-04-09 15:32:06 +03:00
|
|
|
file_name varchar(255),
|
|
|
|
|
content_type varchar(255),
|
|
|
|
|
checksum_algorithm varchar(32),
|
|
|
|
|
checksum varchar(1020),
|
2021-04-23 16:53:33 +03:00
|
|
|
data oid,
|
2021-04-23 14:35:47 +03:00
|
|
|
data_size bigint,
|
2021-04-09 15:32:06 +03:00
|
|
|
additional_info varchar,
|
2021-04-08 11:45:29 +03:00
|
|
|
search_text varchar(255),
|
2021-05-31 16:43:33 +03:00
|
|
|
CONSTRAINT ota_package_tenant_title_version_unq_key UNIQUE (tenant_id, title, version)
|
2021-04-08 10:30:30 +03:00
|
|
|
);
|
|
|
|
|
|
2022-04-13 21:55:03 +02:00
|
|
|
CREATE TABLE IF NOT EXISTS queue(
|
|
|
|
|
id uuid NOT NULL CONSTRAINT queue_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
tenant_id uuid,
|
|
|
|
|
name varchar(255),
|
|
|
|
|
topic varchar(255),
|
|
|
|
|
poll_interval int,
|
|
|
|
|
partitions int,
|
|
|
|
|
consumer_per_partition boolean,
|
|
|
|
|
pack_processing_timeout bigint,
|
|
|
|
|
submit_strategy varchar(255),
|
2022-05-10 19:44:58 +02:00
|
|
|
processing_strategy varchar(255),
|
|
|
|
|
additional_info varchar
|
2022-04-13 21:55:03 +02:00
|
|
|
);
|
|
|
|
|
|
2020-08-18 18:58:53 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS device_profile (
|
2022-03-30 16:42:33 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT device_profile_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
name varchar(255),
|
|
|
|
|
type varchar(255),
|
|
|
|
|
image varchar(1000000),
|
|
|
|
|
transport_type varchar(255),
|
|
|
|
|
provision_type varchar(255),
|
|
|
|
|
profile_data jsonb,
|
|
|
|
|
description varchar,
|
|
|
|
|
search_text varchar(255),
|
|
|
|
|
is_default boolean,
|
|
|
|
|
tenant_id uuid,
|
|
|
|
|
firmware_id uuid,
|
|
|
|
|
software_id uuid,
|
|
|
|
|
default_rule_chain_id uuid,
|
|
|
|
|
default_dashboard_id uuid,
|
2022-04-13 21:55:03 +02:00
|
|
|
default_queue_id uuid,
|
2022-07-11 18:51:38 +03:00
|
|
|
default_queue_name varchar(255),
|
2022-03-30 16:42:33 +03:00
|
|
|
provision_device_key varchar,
|
|
|
|
|
external_id uuid,
|
|
|
|
|
CONSTRAINT device_profile_name_unq_key UNIQUE (tenant_id, name),
|
|
|
|
|
CONSTRAINT device_provision_key_unq_key UNIQUE (provision_device_key),
|
|
|
|
|
CONSTRAINT fk_default_rule_chain_device_profile FOREIGN KEY (default_rule_chain_id) REFERENCES rule_chain(id),
|
|
|
|
|
CONSTRAINT fk_default_dashboard_device_profile FOREIGN KEY (default_dashboard_id) REFERENCES dashboard(id),
|
2022-04-13 21:55:03 +02:00
|
|
|
CONSTRAINT fk_default_queue_device_profile FOREIGN KEY (default_queue_id) REFERENCES queue(id),
|
2022-03-30 16:42:33 +03:00
|
|
|
CONSTRAINT fk_firmware_device_profile FOREIGN KEY (firmware_id) REFERENCES ota_package(id),
|
|
|
|
|
CONSTRAINT fk_software_device_profile FOREIGN KEY (software_id) REFERENCES ota_package(id)
|
2020-08-18 18:58:53 +03:00
|
|
|
);
|
|
|
|
|
|
2022-03-28 14:26:56 +03:00
|
|
|
DO
|
|
|
|
|
$$
|
|
|
|
|
BEGIN
|
|
|
|
|
IF NOT EXISTS(SELECT 1 FROM pg_constraint WHERE conname = 'fk_device_profile_ota_package') THEN
|
|
|
|
|
ALTER TABLE ota_package
|
|
|
|
|
ADD CONSTRAINT fk_device_profile_ota_package
|
|
|
|
|
FOREIGN KEY (device_profile_id) REFERENCES device_profile (id)
|
|
|
|
|
ON DELETE CASCADE;
|
|
|
|
|
END IF;
|
|
|
|
|
END;
|
|
|
|
|
$$;
|
2022-02-04 18:06:40 +02:00
|
|
|
|
2021-04-28 15:31:32 +03:00
|
|
|
-- We will use one-to-many relation in the first release and extend this feature in case of user requests
|
|
|
|
|
-- CREATE TABLE IF NOT EXISTS device_profile_firmware (
|
|
|
|
|
-- device_profile_id uuid NOT NULL,
|
|
|
|
|
-- firmware_id uuid NOT NULL,
|
|
|
|
|
-- CONSTRAINT device_profile_firmware_unq_key UNIQUE (device_profile_id, firmware_id),
|
|
|
|
|
-- CONSTRAINT fk_device_profile_firmware_device_profile FOREIGN KEY (device_profile_id) REFERENCES device_profile(id) ON DELETE CASCADE,
|
|
|
|
|
-- CONSTRAINT fk_device_profile_firmware_firmware FOREIGN KEY (firmware_id) REFERENCES firmware(id) ON DELETE CASCADE,
|
|
|
|
|
-- );
|
|
|
|
|
|
2020-08-20 19:44:29 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS device (
|
2022-03-30 16:42:33 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT device_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
additional_info varchar,
|
|
|
|
|
customer_id uuid,
|
|
|
|
|
device_profile_id uuid NOT NULL,
|
|
|
|
|
device_data jsonb,
|
|
|
|
|
type varchar(255),
|
|
|
|
|
name varchar(255),
|
|
|
|
|
label varchar(255),
|
|
|
|
|
search_text varchar(255),
|
|
|
|
|
tenant_id uuid,
|
|
|
|
|
firmware_id uuid,
|
|
|
|
|
software_id uuid,
|
|
|
|
|
external_id uuid,
|
|
|
|
|
CONSTRAINT device_name_unq_key UNIQUE (tenant_id, name),
|
|
|
|
|
CONSTRAINT fk_device_profile FOREIGN KEY (device_profile_id) REFERENCES device_profile(id),
|
|
|
|
|
CONSTRAINT fk_firmware_device FOREIGN KEY (firmware_id) REFERENCES ota_package(id),
|
|
|
|
|
CONSTRAINT fk_software_device FOREIGN KEY (software_id) REFERENCES ota_package(id)
|
2020-08-20 19:44:29 +03:00
|
|
|
);
|
|
|
|
|
|
2017-05-31 18:55:59 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS device_credentials (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT device_credentials_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2017-07-17 17:32:32 +03:00
|
|
|
credentials_id varchar,
|
|
|
|
|
credentials_type varchar(255),
|
2017-07-17 21:19:31 +03:00
|
|
|
credentials_value varchar,
|
2020-06-22 11:10:28 +03:00
|
|
|
device_id uuid,
|
2020-07-21 15:04:24 +03:00
|
|
|
CONSTRAINT device_credentials_id_unq_key UNIQUE (credentials_id),
|
|
|
|
|
CONSTRAINT device_credentials_device_id_unq_key UNIQUE (device_id)
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS event (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT event_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2019-02-14 16:08:57 +02:00
|
|
|
body varchar(10000000),
|
2020-06-22 11:10:28 +03:00
|
|
|
entity_id uuid,
|
2017-07-17 17:32:32 +03:00
|
|
|
entity_type varchar(255),
|
|
|
|
|
event_type varchar(255),
|
|
|
|
|
event_uid varchar(255),
|
2020-06-22 11:10:28 +03:00
|
|
|
tenant_id uuid,
|
2020-04-22 16:16:58 +03:00
|
|
|
ts bigint NOT NULL,
|
2017-06-26 19:19:17 +03:00
|
|
|
CONSTRAINT event_unq_key UNIQUE (tenant_id, entity_type, entity_id, event_type, event_uid)
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
2017-06-14 19:27:35 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS relation (
|
2020-06-22 11:10:28 +03:00
|
|
|
from_id uuid,
|
2017-07-17 17:32:32 +03:00
|
|
|
from_type varchar(255),
|
2020-06-22 11:10:28 +03:00
|
|
|
to_id uuid,
|
2017-07-17 17:32:32 +03:00
|
|
|
to_type varchar(255),
|
|
|
|
|
relation_type_group varchar(255),
|
|
|
|
|
relation_type varchar(255),
|
2017-07-01 20:39:00 +03:00
|
|
|
additional_info varchar,
|
2018-12-20 14:53:16 +01:00
|
|
|
CONSTRAINT relation_pkey PRIMARY KEY (from_id, from_type, relation_type_group, relation_type, to_id, to_type)
|
2020-07-16 18:35:03 +03:00
|
|
|
);
|
|
|
|
|
-- ) PARTITION BY LIST (relation_type_group);
|
|
|
|
|
--
|
|
|
|
|
-- CREATE TABLE other_relations PARTITION OF relation DEFAULT;
|
|
|
|
|
-- CREATE TABLE common_relations PARTITION OF relation FOR VALUES IN ('COMMON');
|
|
|
|
|
-- CREATE TABLE alarm_relations PARTITION OF relation FOR VALUES IN ('ALARM');
|
|
|
|
|
-- CREATE TABLE dashboard_relations PARTITION OF relation FOR VALUES IN ('DASHBOARD');
|
|
|
|
|
-- CREATE TABLE rule_relations PARTITION OF relation FOR VALUES IN ('RULE_CHAIN', 'RULE_NODE');
|
2017-06-14 19:27:35 +03:00
|
|
|
|
2017-05-31 18:55:59 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS tb_user (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT tb_user_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2017-07-01 20:39:00 +03:00
|
|
|
additional_info varchar,
|
2017-07-17 17:32:32 +03:00
|
|
|
authority varchar(255),
|
2020-06-22 11:10:28 +03:00
|
|
|
customer_id uuid,
|
2017-07-17 17:32:32 +03:00
|
|
|
email varchar(255) UNIQUE,
|
|
|
|
|
first_name varchar(255),
|
|
|
|
|
last_name varchar(255),
|
|
|
|
|
search_text varchar(255),
|
2020-06-22 11:10:28 +03:00
|
|
|
tenant_id uuid
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
2020-08-20 19:44:29 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS tenant_profile (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT tenant_profile_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
name varchar(255),
|
2020-09-03 11:52:25 +03:00
|
|
|
profile_data jsonb,
|
2020-08-20 19:44:29 +03:00
|
|
|
description varchar,
|
|
|
|
|
search_text varchar(255),
|
|
|
|
|
is_default boolean,
|
|
|
|
|
isolated_tb_core boolean,
|
|
|
|
|
isolated_tb_rule_engine boolean,
|
|
|
|
|
CONSTRAINT tenant_profile_name_unq_key UNIQUE (name)
|
|
|
|
|
);
|
|
|
|
|
|
2017-05-31 18:55:59 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS tenant (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT tenant_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2017-07-01 20:39:00 +03:00
|
|
|
additional_info varchar,
|
2020-08-18 18:58:53 +03:00
|
|
|
tenant_profile_id uuid NOT NULL,
|
2017-07-17 17:32:32 +03:00
|
|
|
address varchar,
|
|
|
|
|
address2 varchar,
|
|
|
|
|
city varchar(255),
|
|
|
|
|
country varchar(255),
|
|
|
|
|
email varchar(255),
|
|
|
|
|
phone varchar(255),
|
|
|
|
|
region varchar(255),
|
|
|
|
|
search_text varchar(255),
|
|
|
|
|
state varchar(255),
|
|
|
|
|
title varchar(255),
|
2020-04-13 10:24:40 +03:00
|
|
|
zip varchar(255),
|
2020-08-20 19:44:29 +03:00
|
|
|
CONSTRAINT fk_tenant_profile FOREIGN KEY (tenant_profile_id) REFERENCES tenant_profile(id)
|
2020-08-18 18:58:53 +03:00
|
|
|
);
|
|
|
|
|
|
2017-05-31 18:55:59 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS user_credentials (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT user_credentials_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2017-07-17 17:32:32 +03:00
|
|
|
activate_token varchar(255) UNIQUE,
|
2017-05-31 18:55:59 +03:00
|
|
|
enabled boolean,
|
2017-07-17 17:32:32 +03:00
|
|
|
password varchar(255),
|
|
|
|
|
reset_token varchar(255) UNIQUE,
|
2020-06-22 11:10:28 +03:00
|
|
|
user_id uuid UNIQUE
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS widget_type (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT widget_type_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2017-07-17 17:32:32 +03:00
|
|
|
alias varchar(255),
|
|
|
|
|
bundle_alias varchar(255),
|
2017-07-03 11:34:11 +03:00
|
|
|
descriptor varchar(1000000),
|
2017-07-17 17:32:32 +03:00
|
|
|
name varchar(255),
|
2021-02-04 19:00:28 +02:00
|
|
|
tenant_id uuid,
|
|
|
|
|
image varchar(1000000),
|
|
|
|
|
description varchar(255)
|
2017-05-31 18:55:59 +03:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS widgets_bundle (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT widgets_bundle_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2017-07-17 17:32:32 +03:00
|
|
|
alias varchar(255),
|
|
|
|
|
search_text varchar(255),
|
2020-06-22 11:10:28 +03:00
|
|
|
tenant_id uuid,
|
2021-02-04 19:00:28 +02:00
|
|
|
title varchar(255),
|
|
|
|
|
image varchar(1000000),
|
2022-06-07 15:18:40 +03:00
|
|
|
description varchar(255),
|
|
|
|
|
external_id uuid
|
2018-03-12 12:28:16 +02:00
|
|
|
);
|
|
|
|
|
|
2018-10-09 18:51:10 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS entity_view (
|
2020-06-22 11:10:28 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT entity_view_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
entity_id uuid,
|
2018-09-05 19:29:42 +03:00
|
|
|
entity_type varchar(255),
|
2020-06-22 11:10:28 +03:00
|
|
|
tenant_id uuid,
|
|
|
|
|
customer_id uuid,
|
2018-10-09 18:51:10 +03:00
|
|
|
type varchar(255),
|
2018-09-05 19:29:42 +03:00
|
|
|
name varchar(255),
|
2018-11-09 12:49:51 +02:00
|
|
|
keys varchar(10000000),
|
2018-09-11 15:59:00 +03:00
|
|
|
start_ts bigint,
|
|
|
|
|
end_ts bigint,
|
2018-09-03 19:26:42 +03:00
|
|
|
search_text varchar(255),
|
2022-06-13 13:47:45 +03:00
|
|
|
additional_info varchar,
|
|
|
|
|
external_id uuid
|
2018-09-03 19:26:42 +03:00
|
|
|
);
|
2020-04-22 13:03:53 +03:00
|
|
|
|
2020-07-07 18:02:29 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS ts_kv_latest
|
|
|
|
|
(
|
|
|
|
|
entity_id uuid NOT NULL,
|
|
|
|
|
key int NOT NULL,
|
|
|
|
|
ts bigint NOT NULL,
|
|
|
|
|
bool_v boolean,
|
|
|
|
|
str_v varchar(10000000),
|
|
|
|
|
long_v bigint,
|
|
|
|
|
dbl_v double precision,
|
|
|
|
|
json_v json,
|
|
|
|
|
CONSTRAINT ts_kv_latest_pkey PRIMARY KEY (entity_id, key)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS ts_kv_dictionary
|
|
|
|
|
(
|
|
|
|
|
key varchar(255) NOT NULL,
|
|
|
|
|
key_id serial UNIQUE,
|
|
|
|
|
CONSTRAINT ts_key_id_pkey PRIMARY KEY (key)
|
|
|
|
|
);
|
|
|
|
|
|
2021-06-10 11:50:11 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS oauth2_params (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT oauth2_params_pkey PRIMARY KEY,
|
2020-09-23 13:15:56 +03:00
|
|
|
enabled boolean,
|
2021-06-10 11:50:11 +03:00
|
|
|
tenant_id uuid,
|
|
|
|
|
created_time bigint NOT NULL
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS oauth2_registration (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT oauth2_registration_pkey PRIMARY KEY,
|
|
|
|
|
oauth2_params_id uuid NOT NULL,
|
2020-08-05 17:35:36 +03:00
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
additional_info varchar,
|
|
|
|
|
client_id varchar(255),
|
2021-06-16 18:46:26 +03:00
|
|
|
client_secret varchar(2048),
|
2020-08-05 17:35:36 +03:00
|
|
|
authorization_uri varchar(255),
|
|
|
|
|
token_uri varchar(255),
|
|
|
|
|
scope varchar(255),
|
2021-06-10 17:01:16 +03:00
|
|
|
platforms varchar(255),
|
2020-08-05 17:35:36 +03:00
|
|
|
user_info_uri varchar(255),
|
|
|
|
|
user_name_attribute_name varchar(255),
|
|
|
|
|
jwk_set_uri varchar(255),
|
|
|
|
|
client_authentication_method varchar(255),
|
|
|
|
|
login_button_label varchar(255),
|
|
|
|
|
login_button_icon varchar(255),
|
|
|
|
|
allow_user_creation boolean,
|
|
|
|
|
activate_user boolean,
|
|
|
|
|
type varchar(31),
|
|
|
|
|
basic_email_attribute_key varchar(31),
|
|
|
|
|
basic_first_name_attribute_key varchar(31),
|
|
|
|
|
basic_last_name_attribute_key varchar(31),
|
|
|
|
|
basic_tenant_name_strategy varchar(31),
|
|
|
|
|
basic_tenant_name_pattern varchar(255),
|
|
|
|
|
basic_customer_name_pattern varchar(255),
|
|
|
|
|
basic_default_dashboard_name varchar(255),
|
|
|
|
|
basic_always_full_screen boolean,
|
|
|
|
|
custom_url varchar(255),
|
|
|
|
|
custom_username varchar(255),
|
2020-08-13 14:14:38 +03:00
|
|
|
custom_password varchar(255),
|
2021-06-10 11:50:11 +03:00
|
|
|
custom_send_token boolean,
|
|
|
|
|
CONSTRAINT fk_registration_oauth2_params FOREIGN KEY (oauth2_params_id) REFERENCES oauth2_params(id) ON DELETE CASCADE
|
2020-08-05 17:35:36 +03:00
|
|
|
);
|
|
|
|
|
|
2021-06-10 11:50:11 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS oauth2_domain (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT oauth2_domain_pkey PRIMARY KEY,
|
|
|
|
|
oauth2_params_id uuid NOT NULL,
|
2020-10-01 17:22:17 +03:00
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
domain_name varchar(255),
|
|
|
|
|
domain_scheme varchar(31),
|
2021-06-10 11:50:11 +03:00
|
|
|
CONSTRAINT fk_domain_oauth2_params FOREIGN KEY (oauth2_params_id) REFERENCES oauth2_params(id) ON DELETE CASCADE,
|
|
|
|
|
CONSTRAINT oauth2_domain_unq_key UNIQUE (oauth2_params_id, domain_name, domain_scheme)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS oauth2_mobile (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT oauth2_mobile_pkey PRIMARY KEY,
|
|
|
|
|
oauth2_params_id uuid NOT NULL,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
pkg_name varchar(255),
|
2021-06-11 13:37:23 +03:00
|
|
|
app_secret varchar(2048),
|
2021-06-10 11:50:11 +03:00
|
|
|
CONSTRAINT fk_mobile_oauth2_params FOREIGN KEY (oauth2_params_id) REFERENCES oauth2_params(id) ON DELETE CASCADE,
|
|
|
|
|
CONSTRAINT oauth2_mobile_unq_key UNIQUE (oauth2_params_id, pkg_name)
|
2020-10-01 17:22:17 +03:00
|
|
|
);
|
|
|
|
|
|
2020-08-12 17:31:34 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS oauth2_client_registration_template (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT oauth2_client_registration_template_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2020-08-13 18:21:26 +03:00
|
|
|
additional_info varchar,
|
2020-08-12 17:31:34 +03:00
|
|
|
provider_id varchar(255),
|
|
|
|
|
authorization_uri varchar(255),
|
|
|
|
|
token_uri varchar(255),
|
|
|
|
|
scope varchar(255),
|
|
|
|
|
user_info_uri varchar(255),
|
|
|
|
|
user_name_attribute_name varchar(255),
|
|
|
|
|
jwk_set_uri varchar(255),
|
|
|
|
|
client_authentication_method varchar(255),
|
2020-10-08 18:22:16 +03:00
|
|
|
type varchar(31),
|
2020-08-12 17:31:34 +03:00
|
|
|
basic_email_attribute_key varchar(31),
|
|
|
|
|
basic_first_name_attribute_key varchar(31),
|
|
|
|
|
basic_last_name_attribute_key varchar(31),
|
|
|
|
|
basic_tenant_name_strategy varchar(31),
|
|
|
|
|
basic_tenant_name_pattern varchar(255),
|
|
|
|
|
basic_customer_name_pattern varchar(255),
|
|
|
|
|
basic_default_dashboard_name varchar(255),
|
|
|
|
|
basic_always_full_screen boolean,
|
2020-08-13 11:48:14 +03:00
|
|
|
comment varchar,
|
2020-09-17 11:35:42 +03:00
|
|
|
login_button_icon varchar(255),
|
|
|
|
|
login_button_label varchar(255),
|
2020-08-13 18:21:26 +03:00
|
|
|
help_link varchar(255),
|
2020-08-12 17:31:34 +03:00
|
|
|
CONSTRAINT oauth2_template_provider_id_unq_key UNIQUE (provider_id)
|
|
|
|
|
);
|
|
|
|
|
|
2021-06-10 11:50:11 +03:00
|
|
|
-- Deprecated
|
|
|
|
|
CREATE TABLE IF NOT EXISTS oauth2_client_registration_info (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT oauth2_client_registration_info_pkey PRIMARY KEY,
|
|
|
|
|
enabled boolean,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
additional_info varchar,
|
|
|
|
|
client_id varchar(255),
|
|
|
|
|
client_secret varchar(255),
|
|
|
|
|
authorization_uri varchar(255),
|
|
|
|
|
token_uri varchar(255),
|
|
|
|
|
scope varchar(255),
|
|
|
|
|
user_info_uri varchar(255),
|
|
|
|
|
user_name_attribute_name varchar(255),
|
|
|
|
|
jwk_set_uri varchar(255),
|
|
|
|
|
client_authentication_method varchar(255),
|
|
|
|
|
login_button_label varchar(255),
|
|
|
|
|
login_button_icon varchar(255),
|
|
|
|
|
allow_user_creation boolean,
|
|
|
|
|
activate_user boolean,
|
|
|
|
|
type varchar(31),
|
|
|
|
|
basic_email_attribute_key varchar(31),
|
|
|
|
|
basic_first_name_attribute_key varchar(31),
|
|
|
|
|
basic_last_name_attribute_key varchar(31),
|
|
|
|
|
basic_tenant_name_strategy varchar(31),
|
|
|
|
|
basic_tenant_name_pattern varchar(255),
|
|
|
|
|
basic_customer_name_pattern varchar(255),
|
|
|
|
|
basic_default_dashboard_name varchar(255),
|
|
|
|
|
basic_always_full_screen boolean,
|
|
|
|
|
custom_url varchar(255),
|
|
|
|
|
custom_username varchar(255),
|
|
|
|
|
custom_password varchar(255),
|
|
|
|
|
custom_send_token boolean
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
-- Deprecated
|
|
|
|
|
CREATE TABLE IF NOT EXISTS oauth2_client_registration (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT oauth2_client_registration_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
domain_name varchar(255),
|
|
|
|
|
domain_scheme varchar(31),
|
|
|
|
|
client_registration_info_id uuid
|
|
|
|
|
);
|
|
|
|
|
|
2020-10-19 19:51:58 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS api_usage_state (
|
2020-10-19 15:39:15 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT usage_record_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
tenant_id uuid,
|
|
|
|
|
entity_type varchar(32),
|
|
|
|
|
entity_id uuid,
|
2020-11-10 16:19:44 +02:00
|
|
|
transport varchar(32),
|
|
|
|
|
db_storage varchar(32),
|
|
|
|
|
re_exec varchar(32),
|
|
|
|
|
js_exec varchar(32),
|
2020-11-20 18:02:09 +02:00
|
|
|
email_exec varchar(32),
|
|
|
|
|
sms_exec varchar(32),
|
2021-05-11 16:17:37 +03:00
|
|
|
alarm_exec varchar(32),
|
2020-10-19 19:51:58 +03:00
|
|
|
CONSTRAINT api_usage_state_unq_key UNIQUE (tenant_id, entity_id)
|
2020-10-19 15:39:15 +03:00
|
|
|
);
|
|
|
|
|
|
2021-03-09 19:45:28 +02:00
|
|
|
CREATE TABLE IF NOT EXISTS resource (
|
2021-03-19 20:14:17 +02:00
|
|
|
id uuid NOT NULL CONSTRAINT resource_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
2021-03-09 19:45:28 +02:00
|
|
|
tenant_id uuid NOT NULL,
|
2021-03-19 20:14:17 +02:00
|
|
|
title varchar(255) NOT NULL,
|
2021-03-09 19:45:28 +02:00
|
|
|
resource_type varchar(32) NOT NULL,
|
2021-03-19 20:14:17 +02:00
|
|
|
resource_key varchar(255) NOT NULL,
|
|
|
|
|
search_text varchar(255),
|
2021-03-24 11:03:13 +02:00
|
|
|
file_name varchar(255) NOT NULL,
|
2021-03-19 20:14:17 +02:00
|
|
|
data varchar,
|
|
|
|
|
CONSTRAINT resource_unq_key UNIQUE (tenant_id, resource_type, resource_key)
|
2021-03-09 19:45:28 +02:00
|
|
|
);
|
|
|
|
|
|
2019-09-17 13:05:27 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS edge (
|
2020-10-12 12:00:54 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT edge_pkey PRIMARY KEY,
|
2020-10-12 16:54:05 +03:00
|
|
|
created_time bigint NOT NULL,
|
2019-09-17 13:05:27 +03:00
|
|
|
additional_info varchar,
|
2020-10-12 12:00:54 +03:00
|
|
|
customer_id uuid,
|
|
|
|
|
root_rule_chain_id uuid,
|
2019-10-07 12:54:28 +03:00
|
|
|
type varchar(255),
|
2019-09-17 13:05:27 +03:00
|
|
|
name varchar(255),
|
2019-10-08 18:47:34 +03:00
|
|
|
label varchar(255),
|
2019-10-28 12:13:01 +02:00
|
|
|
routing_key varchar(255),
|
|
|
|
|
secret varchar(255),
|
2019-09-17 13:05:27 +03:00
|
|
|
search_text varchar(255),
|
2020-10-12 12:00:54 +03:00
|
|
|
tenant_id uuid,
|
2020-06-05 12:57:41 +03:00
|
|
|
CONSTRAINT edge_name_unq_key UNIQUE (tenant_id, name),
|
|
|
|
|
CONSTRAINT edge_routing_key_unq_key UNIQUE (routing_key)
|
2020-05-08 22:39:51 +03:00
|
|
|
);
|
|
|
|
|
|
2020-06-16 16:49:27 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS edge_event (
|
2020-10-12 12:00:54 +03:00
|
|
|
id uuid NOT NULL CONSTRAINT edge_event_pkey PRIMARY KEY,
|
2020-10-12 16:54:05 +03:00
|
|
|
created_time bigint NOT NULL,
|
2020-10-12 12:00:54 +03:00
|
|
|
edge_id uuid,
|
2020-06-16 16:49:27 +03:00
|
|
|
edge_event_type varchar(255),
|
2020-09-17 12:53:38 +03:00
|
|
|
edge_event_uid varchar(255),
|
2020-10-12 12:00:54 +03:00
|
|
|
entity_id uuid,
|
2020-06-16 16:49:27 +03:00
|
|
|
edge_event_action varchar(255),
|
2020-09-17 12:53:38 +03:00
|
|
|
body varchar(10000000),
|
2020-10-12 12:00:54 +03:00
|
|
|
tenant_id uuid,
|
2020-06-16 16:49:27 +03:00
|
|
|
ts bigint NOT NULL
|
2020-06-19 10:19:40 +03:00
|
|
|
);
|
|
|
|
|
|
2021-06-11 11:10:06 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS rpc (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT rpc_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
tenant_id uuid NOT NULL,
|
|
|
|
|
device_id uuid NOT NULL,
|
|
|
|
|
expiration_time bigint NOT NULL,
|
|
|
|
|
request varchar(10000000) NOT NULL,
|
|
|
|
|
response varchar(10000000),
|
2021-08-04 18:03:54 +03:00
|
|
|
additional_info varchar(10000000),
|
2021-06-11 11:10:06 +03:00
|
|
|
status varchar(255) NOT NULL
|
|
|
|
|
);
|
|
|
|
|
|
2022-02-18 12:08:43 +02:00
|
|
|
CREATE OR REPLACE PROCEDURE cleanup_events_by_ttl(
|
|
|
|
|
IN regular_events_start_ts bigint,
|
|
|
|
|
IN regular_events_end_ts bigint,
|
|
|
|
|
IN debug_events_start_ts bigint,
|
|
|
|
|
IN debug_events_end_ts bigint,
|
|
|
|
|
INOUT deleted bigint)
|
2020-04-22 13:03:53 +03:00
|
|
|
LANGUAGE plpgsql AS
|
|
|
|
|
$$
|
|
|
|
|
DECLARE
|
2020-04-22 16:16:58 +03:00
|
|
|
ttl_deleted_count bigint DEFAULT 0;
|
|
|
|
|
debug_ttl_deleted_count bigint DEFAULT 0;
|
2020-04-22 13:03:53 +03:00
|
|
|
BEGIN
|
2022-02-18 12:08:43 +02:00
|
|
|
IF regular_events_start_ts > 0 AND regular_events_end_ts > 0 THEN
|
2020-04-22 13:03:53 +03:00
|
|
|
EXECUTE format(
|
2022-02-18 12:08:43 +02:00
|
|
|
'WITH deleted AS (DELETE FROM event WHERE id in (SELECT id from event WHERE ts > %L::bigint AND ts < %L::bigint AND ' ||
|
2022-02-18 12:12:39 +02:00
|
|
|
'(event_type != %L::varchar AND event_type != %L::varchar)) RETURNING *) ' ||
|
2022-02-18 12:08:43 +02:00
|
|
|
'SELECT count(*) FROM deleted', regular_events_start_ts, regular_events_end_ts,
|
2022-02-18 12:12:39 +02:00
|
|
|
'DEBUG_RULE_NODE', 'DEBUG_RULE_CHAIN') into ttl_deleted_count;
|
2020-04-22 13:03:53 +03:00
|
|
|
END IF;
|
2022-02-18 12:08:43 +02:00
|
|
|
IF debug_events_start_ts > 0 AND debug_events_end_ts > 0 THEN
|
2020-04-22 16:16:58 +03:00
|
|
|
EXECUTE format(
|
2022-02-18 12:08:43 +02:00
|
|
|
'WITH deleted AS (DELETE FROM event WHERE id in (SELECT id from event WHERE ts > %L::bigint AND ts < %L::bigint AND ' ||
|
2022-02-18 12:12:39 +02:00
|
|
|
'(event_type = %L::varchar OR event_type = %L::varchar)) RETURNING *) ' ||
|
2022-02-18 12:08:43 +02:00
|
|
|
'SELECT count(*) FROM deleted', debug_events_start_ts, debug_events_end_ts,
|
2022-02-18 12:12:39 +02:00
|
|
|
'DEBUG_RULE_NODE', 'DEBUG_RULE_CHAIN') into debug_ttl_deleted_count;
|
2020-04-22 16:16:58 +03:00
|
|
|
END IF;
|
|
|
|
|
RAISE NOTICE 'Events removed by ttl: %', ttl_deleted_count;
|
|
|
|
|
RAISE NOTICE 'Debug Events removed by ttl: %', debug_ttl_deleted_count;
|
|
|
|
|
deleted := ttl_deleted_count + debug_ttl_deleted_count;
|
2020-04-22 13:03:53 +03:00
|
|
|
END
|
|
|
|
|
$$;
|
2020-07-07 18:02:29 +03:00
|
|
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION to_uuid(IN entity_id varchar, OUT uuid_id uuid) AS
|
|
|
|
|
$$
|
|
|
|
|
BEGIN
|
|
|
|
|
uuid_id := substring(entity_id, 8, 8) || '-' || substring(entity_id, 4, 4) || '-1' || substring(entity_id, 1, 3) ||
|
|
|
|
|
'-' || substring(entity_id, 16, 4) || '-' || substring(entity_id, 20, 12);
|
|
|
|
|
END;
|
|
|
|
|
$$ LANGUAGE plpgsql;
|
2020-08-03 11:09:13 +03:00
|
|
|
|
2020-10-12 15:19:06 +03:00
|
|
|
|
2020-08-12 16:31:45 +03:00
|
|
|
CREATE OR REPLACE PROCEDURE cleanup_edge_events_by_ttl(IN ttl bigint, INOUT deleted bigint)
|
|
|
|
|
LANGUAGE plpgsql AS
|
|
|
|
|
$$
|
|
|
|
|
DECLARE
|
|
|
|
|
ttl_ts bigint;
|
|
|
|
|
ttl_deleted_count bigint DEFAULT 0;
|
|
|
|
|
BEGIN
|
|
|
|
|
IF ttl > 0 THEN
|
|
|
|
|
ttl_ts := (EXTRACT(EPOCH FROM current_timestamp) * 1000 - ttl::bigint * 1000)::bigint;
|
|
|
|
|
EXECUTE format(
|
|
|
|
|
'WITH deleted AS (DELETE FROM edge_event WHERE ts < %L::bigint RETURNING *) SELECT count(*) FROM deleted', ttl_ts) into ttl_deleted_count;
|
|
|
|
|
END IF;
|
|
|
|
|
RAISE NOTICE 'Edge events removed by ttl: %', ttl_deleted_count;
|
|
|
|
|
deleted := ttl_deleted_count;
|
|
|
|
|
END
|
|
|
|
|
$$;
|
2022-03-29 19:18:00 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS user_auth_settings (
|
|
|
|
|
id uuid NOT NULL CONSTRAINT user_auth_settings_pkey PRIMARY KEY,
|
|
|
|
|
created_time bigint NOT NULL,
|
|
|
|
|
user_id uuid UNIQUE NOT NULL CONSTRAINT fk_user_auth_settings_user_id REFERENCES tb_user(id),
|
2022-05-04 14:29:36 +03:00
|
|
|
two_fa_settings varchar
|
2022-03-29 19:18:00 +03:00
|
|
|
);
|