techsneeze/dmarcts-report-parser

db schema dump?

Closed this issue · 2 comments

Im having issues on first run with it creating the tables. It was able to create rptrecord, but nothing else.

Adding missing table <report> to the database.
DBD::mysql::db do failed: Can't create table `dmar_db`.`report` (errno: 140 "Wrong create options") at ./dmarcts-report-parser.pl line 1025.

Wonder if anyone could provide me an sql dump of the db schema where i could try to manually import it to get more details information on where its failing. Trying to piece it together from the perl source is kind of a mess.

@MACscr the CREATE TABLE statements according to mysqldump:

CREATE TABLE `report` (
  `serial` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `mindate` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `maxdate` timestamp NULL DEFAULT NULL,
  `domain` varchar(255) NOT NULL,
  `org` varchar(255) NOT NULL,
  `reportid` varchar(255) NOT NULL,
  `email` varchar(255) DEFAULT NULL,
  `extra_contact_info` varchar(255) DEFAULT NULL,
  `policy_adkim` varchar(20) DEFAULT NULL,
  `policy_aspf` varchar(20) DEFAULT NULL,
  `policy_p` varchar(20) DEFAULT NULL,
  `policy_sp` varchar(20) DEFAULT NULL,
  `policy_pct` tinyint(3) unsigned DEFAULT NULL,
  `raw_xml` mediumtext DEFAULT NULL,
  PRIMARY KEY (`serial`),
  UNIQUE KEY `domain` (`domain`,`reportid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED;

CREATE TABLE `rptrecord` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `serial` int(10) unsigned NOT NULL,
  `ip` int(10) unsigned DEFAULT NULL,
  `ip6` binary(16) DEFAULT NULL,
  `rcount` int(10) unsigned NOT NULL,
  `disposition` enum('none','quarantine','reject') DEFAULT NULL,
  `reason` varchar(255) DEFAULT NULL,
  `dkimdomain` varchar(255) DEFAULT NULL,
  `dkimresult` enum('none','pass','fail','neutral','policy','temperror','permerror') DEFAULT NULL,
  `spfdomain` varchar(255) DEFAULT NULL,
  `spfresult` enum('none','neutral','pass','fail','softfail','temperror','permerror','unknown') DEFAULT NULL,
  `spf_align` enum('fail','pass','unknown') NOT NULL,
  `dkim_align` enum('fail','pass','unknown') NOT NULL,
  `identifier_hfrom` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `serial` (`serial`,`ip`),
  KEY `serial6` (`serial`,`ip6`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

I guess my system didnt like ROW_FORMAT=COMPRESSED. Had to remove.