I have a table that stores info for a letter mailing called mailings. I have a table that stores information for contacts called contacts. And I also have a table that stores the what contacts have gotten what mailings called mailing_contact_rel.
This is a script that is suppose to create a new mailing and relate the contacts in the current foundset to that mailing. The issue I am having is that calling newRecord on the mailing table is ovewriting old mailing with blank information. aka creating a new record with a primary key that already exists. These other mailing were imported via mysql commands from another database. And the new entries in the mailing_contact_rel table only have null values. I’ve included the msql creation script and the code for the method.
forms.mailing.controller.newRecord();
controller.saveData();
forms.mailing.officers_mailed_to = databaseManager.getFoundSetCount(foundset);
var MailID = forms.mailing.id_mailing;
for (var i = 1 ; i <= forms.contact.foundset.getSize(); i++)
{
forms.mailing_to_contact.controller.newRecord()
controller.saveData();
forms.mailing_to_contact.fk_mailing_id = MailID;
var record = forms.contact.foundset.getRecord(i);
forms.mailing_to_contact.fk_contacts_id = record.id_contact;
globals.Tester_01 = MailID;
globals.Tester_02 = record.id_contact;
forms.mailing_to_contact.controller.saveData();
}
and the msql code
CREATE TABLE `mailing` (
`id_mailing` int(10) unsigned NOT NULL auto_increment,
`letter_id_letter` int(10) unsigned default '1',
`mailing` varchar(255) NOT NULL default '',
`description` varchar(255) default NULL,
`date` date default NULL,
`strategy` varchar(255) default NULL,
`mailing_type` enum('Marketing','Thoughts') default NULL,
`officers_mailed_to` int(10) unsigned default NULL,
`num_responses` int(10) unsigned default NULL,
`method` enum('Email','Postal') default NULL,
PRIMARY KEY (`id_mailing`),
INDEX (`letter_id_letter`),
CONSTRAINT `mailing_ibfk_1` FOREIGN KEY (`letter_id_letter`) REFERENCES `letter` (`id_letter`)
) TYPE=InnoDB;
CREATE TABLE `contacts` (
`id_contact` int(10) unsigned NOT NULL auto_increment,
`company_name` varchar(100) NOT NULL default '',
`company_id_company` int(10) unsigned NOT NULL default '0',
`first_name` varchar(100) NOT NULL default '',
`last_name` varchar(100) NOT NULL default '',
`middle_name` varchar(45) default NULL,
`title` varchar(255) default NULL,
`address_1` varchar(100) default NULL,
`address_2` varchar(100) default NULL,
`address_3` varchar(100) default NULL,
`city` varchar(100) default NULL,
`state` varchar(100) default NULL,
`country` varchar(100) default NULL,
`zip` int(10) unsigned default NULL,
`phone_number` varchar(45) default NULL,
`phone_ext` varchar(45) default NULL,
`fax_number` varchar(45) default NULL,
`fax_ext` varchar(45) default NULL,
`alt_phone` varchar(45) default NULL,
`alt_ext` varchar(45) default NULL,
`assistant` varchar(100) default NULL,
`assistant_phone` varchar(45) default NULL,
`assistant_ext` varchar(45) default NULL,
`email_address` varchar(100) default NULL,
`male_female` enum('Male','Female') default NULL,
`age` int(10) unsigned default NULL,
`id_status` enum('Active with Anett','Client','Client/Contact','Contact','Dead','Do Not Mail','Remail','Responder','Thoughts') default NULL,
`referred_by` varchar(100) NOT NULL default '0',
`receive_thought_email` tinyint(1) default NULL,
`receive_thought_post` tinyint(1) default NULL,
`last_mail_date` date default NULL,
`last_email_date` date default '0000-00-00',
`responder_name` varchar(255) default '',
`last_mailing_response` varchar(100) default '',
`response_type` varchar(100) default '',
`response_date` date default '0000-00-00',
`who_responded` varchar(100) default '',
`referrals_given_to` varchar(100) default '',
`discount` tinyint(9) default '0',
`price_quoted` decimal(10,0) default '0',
`responder_notes` varchar(255) default '',
`interests` varchar(255) default '',
`last_mailing_response_id` int(10) unsigned default NULL,
`private_coaching_notes` varchar(255) default NULL,
`contact_for_notes` varchar(255) default NULL,
`strategy` varchar(100) default NULL,
`last_update` timestamp,
PRIMARY KEY (`id_contact`),
INDEX (`last_mailing_response_id`),
INDEX (`company_id_company`),
CONSTRAINT `contacts_ibfk_1` FOREIGN KEY (`last_mailing_response_id`) REFERENCES `mailing` (`id_mailing`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `contacts_ibfk_2` FOREIGN KEY (`company_id_company`) REFERENCES `company` (`id_company`) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;
CREATE TABLE `mailing_contact_rel` (
`id_rel` int(12) unsigned NOT NULL auto_increment,
`fk_contacts_id` int(10) unsigned default '0',
`fk_mailing_id` int(10) unsigned default '0',
PRIMARY KEY (`id_rel`),
INDEX (`fk_contacts_id`),
INDEX (`fk_mailing_id`),
CONSTRAINT `mailing_contact_rel_ibfk_1` FOREIGN KEY (`fk_contacts_id`) REFERENCES `contacts` (`id_contact`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `mailing_contact_rel_ibfk_2` FOREIGN KEY (`fk_mailing_id`) REFERENCES `mailing` (`id_mailing`) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;