diff --git a/apier/v1/apier.go b/apier/v1/apier.go index 2497ac17a..9afe5cf63 100644 --- a/apier/v1/apier.go +++ b/apier/v1/apier.go @@ -503,17 +503,21 @@ func (self *ApierV1) SetActions(attrs utils.AttrSetActions, reply *string) error storeActions := make(engine.Actions, len(attrs.Actions)) for idx, apiAct := range attrs.Actions { var units *float64 - if x, err := strconv.ParseFloat(apiAct.Units, 64); err == nil { - units = &x - } else { - return err + if apiAct.Units != "" { + if x, err := strconv.ParseFloat(apiAct.Units, 64); err == nil { + units = &x + } else { + return err + } } var weight *float64 - if x, err := strconv.ParseFloat(apiAct.BalanceWeight, 64); err == nil { - weight = &x - } else { - return err + if apiAct.BalanceWeight != "" { + if x, err := strconv.ParseFloat(apiAct.BalanceWeight, 64); err == nil { + weight = &x + } else { + return err + } } a := &engine.Action{ diff --git a/data/storage/mysql/create_tariffplan_tables.sql b/data/storage/mysql/create_tariffplan_tables.sql index 0a640135a..b6240cdc5 100644 --- a/data/storage/mysql/create_tariffplan_tables.sql +++ b/data/storage/mysql/create_tariffplan_tables.sql @@ -152,16 +152,16 @@ CREATE TABLE `tp_actions` ( `balance_tag` varchar(64) NOT NULL, `balance_type` varchar(24) NOT NULL, `directions` varchar(8) NOT NULL, - `units` DECIMAL(20,4) NOT NULL, + `units` varchar(24) NOT NULL, `expiry_time` varchar(24) NOT NULL, `timing_tags` varchar(128) NOT NULL, `destination_tags` varchar(64) NOT NULL, `rating_subject` varchar(64) NOT NULL, `categories` varchar(32) NOT NULL, `shared_groups` varchar(64) NOT NULL, - `balance_weight` DECIMAL(8,2) NOT NULL, - `balance_blocker` BOOLEAN NOT NULL, - `balance_disabled` BOOLEAN NOT NULL, + `balance_weight` varchar(10) NOT NULL, + `balance_blocker` varchar(5) NOT NULL, + `balance_disabled` varchar(24) NOT NULL, `extra_parameters` varchar(256) NOT NULL, `filter` varchar(256) NOT NULL, `weight` DECIMAL(8,2) NOT NULL, @@ -214,9 +214,9 @@ CREATE TABLE `tp_action_triggers` ( `balance_shared_groups` varchar(64) NOT NULL, `balance_expiry_time` varchar(24) NOT NULL, `balance_timing_tags` varchar(128) NOT NULL, - `balance_weight` DECIMAL(8,2) NOT NULL, - `balance_blocker` BOOL NOT NULL, - `balance_disabled` BOOL NOT NULL, + `balance_weight` varchar(10) NOT NULL, + `balance_blocker` varchar(5) NOT NULL, + `balance_disabled` varchar(5) NOT NULL, `min_queued_items` int(11) NOT NULL, `actions_tag` varchar(64) NOT NULL, `weight` DECIMAL(8,2) NOT NULL, diff --git a/data/storage/postgres/create_tariffplan_tables.sql b/data/storage/postgres/create_tariffplan_tables.sql index e4d3aaee8..b5d8193c8 100644 --- a/data/storage/postgres/create_tariffplan_tables.sql +++ b/data/storage/postgres/create_tariffplan_tables.sql @@ -109,7 +109,7 @@ CREATE TABLE tp_rating_profiles ( activation_time VARCHAR(24) NOT NULL, rating_plan_tag VARCHAR(64) NOT NULL, fallback_subjects VARCHAR(64), - cdr_stat_queue_ids varchar(64), + cdr_stat_queue_ids VARCHAR(64), created_at TIMESTAMP, UNIQUE (tpid, loadid, tenant, category, direction, subject, activation_time) ); @@ -147,16 +147,16 @@ CREATE TABLE tp_actions ( balance_tag VARCHAR(64) NOT NULL, balance_type VARCHAR(24) NOT NULL, directions VARCHAR(8) NOT NULL, - units NUMERIC(20,4) NOT NULL, + units VARCHAR(10) NOT NULL, expiry_time VARCHAR(24) NOT NULL, timing_tags VARCHAR(128) NOT NULL, destination_tags VARCHAR(64) NOT NULL, rating_subject VARCHAR(64) NOT NULL, categories VARCHAR(32) NOT NULL, shared_groups VARCHAR(64) NOT NULL, - balance_weight NUMERIC(8,2) NOT NULL, - balance_blocker BOOLEAN NOT NULL, - balance_disabled BOOLEAN NOT NULL, + balance_weight VARCHAR(10) NOT NULL, + balance_blocker VARCHAR(5) NOT NULL, + balance_disabled VARCHAR(5) NOT NULL, extra_parameters VARCHAR(256) NOT NULL, filter VARCHAR(256) NOT NULL, weight NUMERIC(8,2) NOT NULL, @@ -209,9 +209,9 @@ CREATE TABLE tp_action_triggers ( balance_shared_groups VARCHAR(64) NOT NULL, balance_expiry_time VARCHAR(24) NOT NULL, balance_timing_tags VARCHAR(128) NOT NULL, - balance_weight NUMERIC(8,2) NOT NULL, - balance_blocker BOOL NOT NULL, - balance_disabled BOOL NOT NULL, + balance_weight VARCHAR(10) NOT NULL, + balance_blocker VARCHAR(5) NOT NULL, + balance_disabled VARCHAR(5) NOT NULL, min_queued_items INTEGER NOT NULL, actions_tag VARCHAR(64) NOT NULL, weight NUMERIC(8,2) NOT NULL,