Backup old Calls
From Kolmisoft Wiki
Jump to navigationJump to search
When too much Calls are in B - it slows down GUI.
Possible to move some old Calls to backup table.
MAKE DB BACKUP BEFORE YOU TRY ALL THESE COMMANDS!
These SQL commands are for MOR 8 ONLY.
Create backup table:
CREATE TABLE IF NOT EXISTS `calls_backup1` (
`id` int(11) NOT NULL auto_increment,
`calldate` datetime NOT NULL default '0000-00-00 00:00:00',
`clid` varchar(80) NOT NULL,
`src` varchar(80) NOT NULL,
`dst` varchar(80) NOT NULL,
`dcontext` varchar(80) NOT NULL,
`channel` varchar(80) NOT NULL,
`dstchannel` varchar(80) NOT NULL,
`lastapp` varchar(80) NOT NULL,
`lastdata` varchar(80) NOT NULL,
`duration` int(11) NOT NULL default '0',
`billsec` int(11) NOT NULL default '0',
`disposition` varchar(45) NOT NULL,
`amaflags` int(11) NOT NULL default '0',
`accountcode` varchar(20) NOT NULL,
`uniqueid` varchar(32) NOT NULL,
`userfield` varchar(255) NOT NULL,
`src_device_id` int(11) NOT NULL default '0',
`dst_device_id` int(11) NOT NULL default '0',
`processed` tinyint(4) NOT NULL default '0',
`did_price` double NOT NULL default '0',
`card_id` int(11) default NULL,
`provider_id` int(11) default NULL,
`provider_rate` double default NULL,
`provider_billsec` int(11) default NULL,
`provider_price` double default NULL,
`user_id` int(11) default NULL,
`user_rate` double default NULL,
`user_billsec` int(11) default NULL,
`user_price` double default NULL,
`reseller_id` int(11) default NULL,
`reseller_rate` double default NULL,
`reseller_billsec` int(11) default NULL,
`reseller_price` double default NULL,
`partner_id` int(11) default NULL,
`partner_rate` double default NULL,
`partner_billsec` int(11) default NULL,
`partner_price` double default NULL,
`prefix` varchar(50) default NULL,
`server_id` int(11) default '1',
`hangupcause` int(11) default NULL,
`callertype` enum('Local','Outside') default 'Local',
`peerip` varchar(255) default NULL,
`recvip` varchar(255) default NULL,
`sipfrom` varchar(255) default NULL,
`uri` varchar(255) default NULL,
`useragent` varchar(255) default NULL,
`peername` varchar(255) default NULL,
`t38passthrough` tinyint(4) default NULL,
`did_inc_price` double default '0',
`did_prov_price` double default '0',
`localized_dst` varchar(50) default NULL,
`did_provider_id` int(11) default '0',
`did_id` int(11) default NULL,
`originator_ip` varchar(20) default NULL,
`terminator_ip` varchar(20) default NULL,
`real_duration` double NOT NULL default '0' COMMENT 'exact duration',
`real_billsec` double NOT NULL default '0' COMMENT 'exact billsec',
`did_billsec` int(11) default '0' COMMENT 'billsec for incoming call',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Copy old calls (change period to your needs):
INSERT INTO calls_backup1 (calldate, clid, src, dst, dcontext, channel, dstchannel, lastapp, lastdata, duration, billsec, disposition, amaflags, accountcode, uniqueid, userfield, src_device_id, dst_device_id, processed, did_price, card_id, provider_id, provider_rate, provider_billsec, provider_price, user_id, user_rate, user_billsec, user_price, reseller_id, reseller_rate, reseller_billsec, reseller_price, partner_id, partner_rate, partner_billsec, partner_price, prefix, server_id, hangupcause, callertype, peerip, recvip, sipfrom, uri, useragent, peername, t38passthrough, did_inc_price, did_prov_price, localized_dst, did_provider_id, did_id, originator_ip, terminator_ip, real_duration, real_billsec, did_billsec) SELECT calldate, clid, src, dst, dcontext, channel, dstchannel, lastapp, lastdata, duration, billsec, disposition, amaflags, accountcode, uniqueid, userfield, src_device_id, dst_device_id, processed, did_price, card_id, provider_id, provider_rate, provider_billsec, provider_price, user_id, user_rate, user_billsec, user_price, reseller_id, reseller_rate, reseller_billsec, reseller_price, partner_id, partner_rate, partner_billsec, partner_price, prefix, server_id, hangupcause, callertype, peerip, recvip, sipfrom, uri, useragent, peername, t38passthrough, did_inc_price, did_prov_price, localized_dst, did_provider_id, did_id, originator_ip, terminator_ip, real_duration, real_billsec, did_billsec FROM calls WHERE calldate BETWEEN '2009-08-01 00:00:00' AND '2009-09-01 00:00:00';
Delete calls from original table (use same period then in previous query!):
DELETE FROM calls WHERE calldate BETWEEN '2009-08-01 00:00:00' AND '2009-09-01 00:00:00';