diff --git a/lib/WebGUI/Mailing.pm b/lib/WebGUI/Mailing.pm index c823e6c..d11967b 100644 --- a/lib/WebGUI/Mailing.pm +++ b/lib/WebGUI/Mailing.pm @@ -48,7 +48,7 @@ sub crud_definition { my $definition = $class->SUPER::crud_definition( $session ); - $definition->{ tableName } = 'WGMailing'; + $definition->{ tableName } = 'Mailing'; $definition->{ tableKey } = 'mailingId'; $definition->{ sequenceKey } = 'issueId'; @@ -143,7 +143,7 @@ sub getStatusLine { my $db = $self->session->db; my $sth = $db->read( - 'select status, isTest, count( status ) as cnt from WGMailing_queue where mailingId=? group by status,isTest', + 'select status, isTest, count( status ) as cnt from Mailing_email where mailingId=? group by status,isTest', [ $self->getId, ], diff --git a/lib/WebGUI/Mailing/Bounce.pm b/lib/WebGUI/Mailing/Bounce.pm index bd83edb..7a4fe33 100644 --- a/lib/WebGUI/Mailing/Bounce.pm +++ b/lib/WebGUI/Mailing/Bounce.pm @@ -58,7 +58,7 @@ sub www_bounceReport { my $self = shift; my $session = $self->session; my $i18n = WebGUI::International->new( $session, 'MailingManager' ); - my $sth = $session->db->read( 'select distinct sentTo from WGMailing_queue where sentTo is not null' ); + my $sth = $session->db->read( 'select distinct sentTo from Mailing_email where sentTo is not null' ); my $output = ''; while ( my ($email) = $sth->array ) { diff --git a/lib/WebGUI/Mailing/Email.pm b/lib/WebGUI/Mailing/Email.pm index 6c70599..92ece82 100644 --- a/lib/WebGUI/Mailing/Email.pm +++ b/lib/WebGUI/Mailing/Email.pm @@ -14,7 +14,7 @@ sub crud_definition { my $definition = $class->SUPER::crud_definition( $session ); - $definition->{ tableName } = 'WGMailing_queue'; + $definition->{ tableName } = 'Mailing_email'; $definition->{ tableKey } = 'mailId'; $definition->{ sequenceKey } = 'mailingId'; diff --git a/sbin/install_newsletter.pl b/sbin/install_newsletter.pl index b7f8bf4..7de8939 100644 --- a/sbin/install_newsletter.pl +++ b/sbin/install_newsletter.pl @@ -34,7 +34,6 @@ renamespaceTemplates( $session ); finish($session); - #---------------------------------------------------------------------------- sub installMailableAspectTable { my $session = shift; @@ -152,8 +151,20 @@ sub addRecentColumnToNewsletterCollection { #---------------------------------------------------------------------------- sub installMailingTables { my $session = shift; + my $db = $session->db; print "\tInstalling Mailing table..."; + # Remname tables from a previous (bad) name to a new (good) one. + # Must be done before the crudCreateOrUpdate calls to prevent creation of stale tables. + my @tables = $db->buildArray( 'show tables' ); + if ( grep { $_ eq 'WGMailing' } @tables ) { + $db->write( 'rename table WGMailing to Mailing' ); + } + if ( grep { $_ eq 'WGMailing_queue' } @tables ) { + $db->write( 'rename table WGMailing_queue to Mailing_email' ); + } + + # Create or update Mailing tables. use WebGUI::Mailing; use WebGUI::Mailing::Email;
'.$i18n->get('email').''.$i18n->get('bounce score').'