Default value for answer time is now null in cdrsql

This commit is contained in:
andronache
2021-12-09 17:28:14 +02:00
committed by Dan Christian Bogos
parent d8388ff71e
commit 5cbd7e6e5c
9 changed files with 20 additions and 12 deletions

View File

@@ -18,7 +18,7 @@ CREATE TABLE cdrs (
subject varchar(128) NOT NULL,
destination varchar(128) NOT NULL,
setup_time datetime NOT NULL,
answer_time datetime NOT NULL,
answer_time datetime NULL,
`usage` BIGINT NOT NULL,
extra_fields text NOT NULL,
cost_source varchar(64) NOT NULL,

View File

@@ -20,7 +20,7 @@ CREATE TABLE cdrs (
destination varchar(128) NOT NULL,
setup_time datetime NOT NULL,
pdd DECIMAL(12,9) NOT NULL,
answer_time datetime NOT NULL,
answer_time datetime NULL,
`usage` DECIMAL(30,9) NOT NULL,
supplier varchar(128) NOT NULL,
disconnect_cause varchar(64) NOT NULL,

View File

@@ -19,7 +19,7 @@ CREATE TABLE cdrs (
destination VARCHAR(128) NOT NULL,
setup_time TIMESTAMP WITH TIME ZONE NOT NULL,
pdd NUMERIC(12,9) NOT NULL,
answer_time TIMESTAMP WITH TIME ZONE NOT NULL,
answer_time TIMESTAMP WITH TIME ZONE NULL,
usage NUMERIC(30,9) NOT NULL,
supplier VARCHAR(128) NOT NULL,
disconnect_cause VARCHAR(64) NOT NULL,

View File

@@ -4,7 +4,7 @@ ALTER TABLE `cdrs_primary`
CHANGE COLUMN tbid `id` int(11) NOT NULL auto_increment first ,
CHANGE `cgrid` `cgrid` char(40) NOT NULL after `id` ,
ADD COLUMN `pdd` decimal(12,9) NOT NULL after `setup_time` ,
CHANGE `answer_time` `answer_time` datetime NOT NULL after `pdd` ,
CHANGE `answer_time` `answer_time` datetime NULL after `pdd` ,
ADD COLUMN `supplier` varchar(128) NOT NULL after `usage` ,
ADD COLUMN `disconnect_cause` varchar(64) NOT NULL after `supplier` ,
ADD COLUMN `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP after `disconnect_cause` ,
@@ -37,7 +37,7 @@ ALTER TABLE `rated_cdrs`
CHANGE `cgrid` `cgrid` char(40) NOT NULL after `id` ,
CHANGE `category` `category` varchar(32) NOT NULL after `tenant` ,
ADD COLUMN `pdd` decimal(12,9) NOT NULL after `setup_time` ,
CHANGE `answer_time` `answer_time` datetime NOT NULL after `pdd` ,
CHANGE `answer_time` `answer_time` datetime NULL after `pdd` ,
ADD COLUMN `supplier` varchar(128) NOT NULL after `usage` ,
ADD COLUMN `disconnect_cause` varchar(64) NOT NULL after `supplier` ,
CHANGE `cost` `cost` decimal(20,4) NULL after `disconnect_cause` ,

View File

@@ -18,7 +18,7 @@ CREATE TABLE cdrs (
subject varchar(128) NOT NULL,
destination varchar(128) NOT NULL,
setup_time datetime NOT NULL,
answer_time datetime NOT NULL,
answer_time datetime NULL,
`usage` BIGINT NOT NULL,
extra_fields text NOT NULL,
cost_source varchar(64) NOT NULL,

View File

@@ -18,7 +18,7 @@ CREATE TABLE cdrs (
subject VARCHAR(128) NOT NULL,
destination VARCHAR(128) NOT NULL,
setup_time TIMESTAMP WITH TIME ZONE NOT NULL,
answer_time TIMESTAMP WITH TIME ZONE NOT NULL,
answer_time TIMESTAMP WITH TIME ZONE NULL,
usage BIGINT NOT NULL,
extra_fields jsonb NOT NULL,
cost_source VARCHAR(64) NOT NULL,

View File

@@ -293,7 +293,9 @@ func (cdr *CDR) AsCDRsql() (cdrSQL *CDRsql) {
cdrSQL.Subject = cdr.Subject
cdrSQL.Destination = cdr.Destination
cdrSQL.SetupTime = cdr.SetupTime
cdrSQL.AnswerTime = cdr.AnswerTime
if !cdr.AnswerTime.IsZero() {
cdrSQL.AnswerTime = utils.TimePointer(cdr.AnswerTime)
}
cdrSQL.Usage = cdr.Usage.Nanoseconds()
cdrSQL.ExtraFields = utils.ToJSON(cdr.ExtraFields)
cdrSQL.CostSource = cdr.CostSource
@@ -330,7 +332,9 @@ func NewCDRFromSQL(cdrSQL *CDRsql) (cdr *CDR, err error) {
cdr.Subject = cdrSQL.Subject
cdr.Destination = cdrSQL.Destination
cdr.SetupTime = cdrSQL.SetupTime
cdr.AnswerTime = cdrSQL.AnswerTime
if cdrSQL.AnswerTime != nil {
cdr.AnswerTime = *cdrSQL.AnswerTime
}
cdr.Usage = time.Duration(cdrSQL.Usage)
cdr.CostSource = cdrSQL.CostSource
cdr.Cost = cdrSQL.Cost

View File

@@ -335,7 +335,7 @@ type CDRsql struct {
Subject string
Destination string
SetupTime time.Time
AnswerTime time.Time
AnswerTime *time.Time
Usage int64
ExtraFields string
CostSource string

View File

@@ -183,7 +183,9 @@ func NewV1CDRFromCDRSql(cdrSql *engine.CDRsql) (cdr *v1Cdrs, err error) {
cdr.Subject = cdrSql.Subject
cdr.Destination = cdrSql.Destination
cdr.SetupTime = cdrSql.SetupTime
cdr.AnswerTime = cdrSql.AnswerTime
if cdrSql.AnswerTime != nil {
cdr.AnswerTime = *cdrSql.AnswerTime
}
cdr.Usage = time.Duration(cdrSql.Usage)
cdr.CostSource = cdrSql.CostSource
cdr.Cost = cdrSql.Cost
@@ -216,7 +218,9 @@ func (cdr *v1Cdrs) AsCDRsql() (cdrSql *engine.CDRsql) {
cdrSql.Subject = cdr.Subject
cdrSql.Destination = cdr.Destination
cdrSql.SetupTime = cdr.SetupTime
cdrSql.AnswerTime = cdr.AnswerTime
if !cdr.AnswerTime.IsZero() {
cdrSql.AnswerTime = utils.TimePointer(cdr.AnswerTime)
}
cdrSql.Usage = cdr.Usage.Nanoseconds()
cdrSql.ExtraFields = utils.ToJSON(cdr.ExtraFields)
cdrSql.CostSource = cdr.CostSource