96 lines
4.0 KiB
SQL
96 lines
4.0 KiB
SQL
--
|
|
-- Copyright © 2016-2025 The Thingsboard Authors
|
|
--
|
|
-- 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.
|
|
--
|
|
|
|
-- UPDATE SAVE TIME SERIES NODES START
|
|
|
|
UPDATE rule_node
|
|
SET configuration = (
|
|
(configuration::jsonb - 'skipLatestPersistence')
|
|
|| jsonb_build_object(
|
|
'processingSettings', jsonb_build_object(
|
|
'type', 'ADVANCED',
|
|
'timeseries', jsonb_build_object('type', 'ON_EVERY_MESSAGE'),
|
|
'latest', jsonb_build_object('type', 'SKIP'),
|
|
'webSockets', jsonb_build_object('type', 'ON_EVERY_MESSAGE'),
|
|
'calculatedFields', jsonb_build_object('type', 'ON_EVERY_MESSAGE')
|
|
)
|
|
)
|
|
)::text,
|
|
configuration_version = 1
|
|
WHERE type = 'org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode'
|
|
AND configuration_version = 0
|
|
AND configuration::jsonb ->> 'skipLatestPersistence' = 'true';
|
|
|
|
UPDATE rule_node
|
|
SET configuration = (
|
|
(configuration::jsonb - 'skipLatestPersistence')
|
|
|| jsonb_build_object(
|
|
'processingSettings', jsonb_build_object(
|
|
'type', 'ON_EVERY_MESSAGE'
|
|
)
|
|
)
|
|
)::text,
|
|
configuration_version = 1
|
|
WHERE type = 'org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode'
|
|
AND configuration_version = 0
|
|
AND (configuration::jsonb ->> 'skipLatestPersistence' != 'true' OR configuration::jsonb ->> 'skipLatestPersistence' IS NULL);
|
|
|
|
-- UPDATE SAVE TIME SERIES NODES END
|
|
|
|
-- UPDATE SAVE ATTRIBUTES NODES START
|
|
|
|
UPDATE rule_node
|
|
SET configuration = (
|
|
configuration::jsonb
|
|
|| jsonb_build_object(
|
|
'processingSettings', jsonb_build_object('type', 'ON_EVERY_MESSAGE')
|
|
)
|
|
)::text,
|
|
configuration_version = 3
|
|
WHERE type = 'org.thingsboard.rule.engine.telemetry.TbMsgAttributesNode'
|
|
AND configuration_version = 2;
|
|
|
|
-- UPDATE SAVE ATTRIBUTES NODES END
|
|
|
|
ALTER TABLE api_usage_state ADD COLUMN IF NOT EXISTS version BIGINT DEFAULT 1;
|
|
|
|
-- UPDATE TENANT PROFILE CALCULATED FIELD LIMITS START
|
|
|
|
UPDATE tenant_profile
|
|
SET profile_data = profile_data
|
|
|| jsonb_build_object(
|
|
'configuration', profile_data->'configuration' || jsonb_build_object(
|
|
'maxCalculatedFieldsPerEntity', COALESCE(profile_data->'configuration'->>'maxCalculatedFieldsPerEntity', '5')::bigint,
|
|
'maxArgumentsPerCF', COALESCE(profile_data->'configuration'->>'maxArgumentsPerCF', '10')::bigint,
|
|
'maxDataPointsPerRollingArg', COALESCE(profile_data->'configuration'->>'maxDataPointsPerRollingArg', '1000')::bigint,
|
|
'maxStateSizeInKBytes', COALESCE(profile_data->'configuration'->>'maxStateSizeInKBytes', '32')::bigint,
|
|
'maxSingleValueArgumentSizeInKBytes', COALESCE(profile_data->'configuration'->>'maxSingleValueArgumentSizeInKBytes', '2')::bigint
|
|
)
|
|
)
|
|
WHERE profile_data->'configuration'->>'maxCalculatedFieldsPerEntity' IS NULL;
|
|
|
|
-- UPDATE TENANT PROFILE CALCULATED FIELD LIMITS END
|
|
|
|
-- UPDATE TENANT PROFILE DEBUG DURATION START
|
|
|
|
UPDATE tenant_profile
|
|
SET profile_data = jsonb_set(profile_data, '{configuration,maxDebugModeDurationMinutes}', '15', true)
|
|
WHERE
|
|
profile_data->'configuration' ? 'maxDebugModeDurationMinutes' = false
|
|
OR (profile_data->'configuration'->>'maxDebugModeDurationMinutes')::int = 0;
|
|
|
|
-- UPDATE TENANT PROFILE DEBUG DURATION END
|