mysql-stretch.sql
This commit is contained in:
parent
d5d37f03a9
commit
a44d892c11
|
@ -0,0 +1,227 @@
|
|||
--
|
||||
-- Database for Gammu SMSD
|
||||
--
|
||||
-- In case you get errors about not supported charset, please
|
||||
-- replace utf8mb4 with utf8.
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `gammu`
|
||||
--
|
||||
|
||||
CREATE TABLE `gammu` (
|
||||
`Version` integer NOT NULL default '0' PRIMARY KEY
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
--
|
||||
-- Dumping data for table `gammu`
|
||||
--
|
||||
|
||||
INSERT INTO `gammu` (`Version`) VALUES (16);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `inbox`
|
||||
--
|
||||
|
||||
CREATE TABLE `inbox` (
|
||||
`UpdatedInDB` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
||||
`ReceivingDateTime` timestamp NOT NULL default '0000-00-00 00:00:00',
|
||||
`Text` text NOT NULL,
|
||||
`SenderNumber` varchar(20) NOT NULL default '',
|
||||
`Coding` enum('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression') NOT NULL default 'Default_No_Compression',
|
||||
`UDH` text NOT NULL,
|
||||
`SMSCNumber` varchar(20) NOT NULL default '',
|
||||
`Class` integer NOT NULL default '-1',
|
||||
`TextDecoded` text NOT NULL,
|
||||
`ID` integer unsigned NOT NULL auto_increment,
|
||||
`RecipientID` text NOT NULL,
|
||||
`Processed` enum('false','true') NOT NULL default 'false',
|
||||
PRIMARY KEY `ID` (`ID`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ;
|
||||
|
||||
--
|
||||
-- Dumping data for table `inbox`
|
||||
--
|
||||
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `outbox`
|
||||
--
|
||||
|
||||
CREATE TABLE `outbox` (
|
||||
`UpdatedInDB` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
||||
`InsertIntoDB` timestamp NOT NULL default '0000-00-00 00:00:00',
|
||||
`SendingDateTime` timestamp NOT NULL default '0000-00-00 00:00:00',
|
||||
`SendBefore` time NOT NULL DEFAULT '23:59:59',
|
||||
`SendAfter` time NOT NULL DEFAULT '00:00:00',
|
||||
`Text` text,
|
||||
`DestinationNumber` varchar(20) NOT NULL default '',
|
||||
`Coding` enum('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression') NOT NULL default 'Default_No_Compression',
|
||||
`UDH` text,
|
||||
`Class` integer default '-1',
|
||||
`TextDecoded` text NOT NULL,
|
||||
`ID` integer unsigned NOT NULL auto_increment,
|
||||
`MultiPart` enum('false','true') default 'false',
|
||||
`RelativeValidity` integer default '-1',
|
||||
`SenderID` varchar(255),
|
||||
`SendingTimeOut` timestamp NULL default '0000-00-00 00:00:00',
|
||||
`DeliveryReport` enum('default','yes','no') default 'default',
|
||||
`CreatorID` text NOT NULL,
|
||||
`Retries` int(3) default 0,
|
||||
`Priority` integer default 0,
|
||||
PRIMARY KEY `ID` (`ID`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE INDEX outbox_date ON outbox(SendingDateTime, SendingTimeOut);
|
||||
CREATE INDEX outbox_sender ON outbox(SenderID(250));
|
||||
|
||||
--
|
||||
-- Dumping data for table `outbox`
|
||||
--
|
||||
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `outbox_multipart`
|
||||
--
|
||||
|
||||
CREATE TABLE `outbox_multipart` (
|
||||
`Text` text,
|
||||
`Coding` enum('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression') NOT NULL default 'Default_No_Compression',
|
||||
`UDH` text,
|
||||
`Class` integer default '-1',
|
||||
`TextDecoded` text,
|
||||
`ID` integer unsigned NOT NULL default '0',
|
||||
`SequencePosition` integer NOT NULL default '1',
|
||||
PRIMARY KEY (`ID`, `SequencePosition`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
--
|
||||
-- Dumping data for table `outbox_multipart`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `phones`
|
||||
--
|
||||
|
||||
CREATE TABLE `phones` (
|
||||
`ID` text NOT NULL,
|
||||
`UpdatedInDB` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
||||
`InsertIntoDB` timestamp NOT NULL default '0000-00-00 00:00:00',
|
||||
`TimeOut` timestamp NOT NULL default '0000-00-00 00:00:00',
|
||||
`Send` enum('yes','no') NOT NULL default 'no',
|
||||
`Receive` enum('yes','no') NOT NULL default 'no',
|
||||
`IMEI` varchar(35) NOT NULL,
|
||||
`IMSI` varchar(35) NOT NULL,
|
||||
`NetCode` varchar(10) default 'ERROR',
|
||||
`NetName` varchar(35) default 'ERROR',
|
||||
`Client` text NOT NULL,
|
||||
`Battery` integer NOT NULL DEFAULT -1,
|
||||
`Signal` integer NOT NULL DEFAULT -1,
|
||||
`Sent` int NOT NULL DEFAULT 0,
|
||||
`Received` int NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`IMEI`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
--
|
||||
-- Dumping data for table `phones`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `sentitems`
|
||||
--
|
||||
|
||||
CREATE TABLE `sentitems` (
|
||||
`UpdatedInDB` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
||||
`InsertIntoDB` timestamp NOT NULL default '0000-00-00 00:00:00',
|
||||
`SendingDateTime` timestamp NOT NULL default '0000-00-00 00:00:00',
|
||||
`DeliveryDateTime` timestamp NULL,
|
||||
`Text` text NOT NULL,
|
||||
`DestinationNumber` varchar(20) NOT NULL default '',
|
||||
`Coding` enum('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression') NOT NULL default 'Default_No_Compression',
|
||||
`UDH` text NOT NULL,
|
||||
`SMSCNumber` varchar(20) NOT NULL default '',
|
||||
`Class` integer NOT NULL default '-1',
|
||||
`TextDecoded` text NOT NULL,
|
||||
`ID` integer unsigned NOT NULL default '0',
|
||||
`SenderID` varchar(255) NOT NULL,
|
||||
`SequencePosition` integer NOT NULL default '1',
|
||||
`Status` enum('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','DeliveryFailed','DeliveryPending','DeliveryUnknown','Error') NOT NULL default 'SendingOK',
|
||||
`StatusError` integer NOT NULL default '-1',
|
||||
`TPMR` integer NOT NULL default '-1',
|
||||
`RelativeValidity` integer NOT NULL default '-1',
|
||||
`CreatorID` text NOT NULL,
|
||||
PRIMARY KEY (`ID`, `SequencePosition`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE INDEX sentitems_date ON sentitems(DeliveryDateTime);
|
||||
CREATE INDEX sentitems_tpmr ON sentitems(TPMR);
|
||||
CREATE INDEX sentitems_dest ON sentitems(DestinationNumber);
|
||||
CREATE INDEX sentitems_sender ON sentitems(SenderID(250));
|
||||
|
||||
--
|
||||
-- Dumping data for table `sentitems`
|
||||
--
|
||||
|
||||
|
||||
--
|
||||
-- Triggers for setting default timestamps
|
||||
--
|
||||
|
||||
DELIMITER //
|
||||
|
||||
CREATE TRIGGER inbox_timestamp BEFORE INSERT ON inbox
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.ReceivingDateTime = '0000-00-00 00:00:00' THEN
|
||||
SET NEW.ReceivingDateTime = CURRENT_TIMESTAMP();
|
||||
END IF;
|
||||
END;//
|
||||
|
||||
CREATE TRIGGER outbox_timestamp BEFORE INSERT ON outbox
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.InsertIntoDB = '0000-00-00 00:00:00' THEN
|
||||
SET NEW.InsertIntoDB = CURRENT_TIMESTAMP();
|
||||
END IF;
|
||||
IF NEW.SendingDateTime = '0000-00-00 00:00:00' THEN
|
||||
SET NEW.SendingDateTime = CURRENT_TIMESTAMP();
|
||||
END IF;
|
||||
IF NEW.SendingTimeOut = '0000-00-00 00:00:00' THEN
|
||||
SET NEW.SendingTimeOut = CURRENT_TIMESTAMP();
|
||||
END IF;
|
||||
END;//
|
||||
|
||||
CREATE TRIGGER phones_timestamp BEFORE INSERT ON phones
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.InsertIntoDB = '0000-00-00 00:00:00' THEN
|
||||
SET NEW.InsertIntoDB = CURRENT_TIMESTAMP();
|
||||
END IF;
|
||||
IF NEW.TimeOut = '0000-00-00 00:00:00' THEN
|
||||
SET NEW.TimeOut = CURRENT_TIMESTAMP();
|
||||
END IF;
|
||||
END;//
|
||||
|
||||
CREATE TRIGGER sentitems_timestamp BEFORE INSERT ON sentitems
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.InsertIntoDB = '0000-00-00 00:00:00' THEN
|
||||
SET NEW.InsertIntoDB = CURRENT_TIMESTAMP();
|
||||
END IF;
|
||||
IF NEW.SendingDateTime = '0000-00-00 00:00:00' THEN
|
||||
SET NEW.SendingDateTime = CURRENT_TIMESTAMP();
|
||||
END IF;
|
||||
END;//
|
||||
|
||||
DELIMITER ;
|
Loading…
Reference in New Issue