Bug 12298: The "feed" MTT does not seem to be used and can be removed

The feed message transport type exists but nobody knows how it can be
used. This patch assumes nobody uses it and removes it.

Before removing the entry in the DB, the updatedb entry will check if no
foreign key exists in order to avoid a delete in cascade.

This path does *not* deletes the occurrences in the templates.

Test plan:
Apply this patch, execute the updatedb script and verify the
message_transport_types table does not contain the 'feed' entry if it was not
in use.

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch will remove the confusing option to configure message texts for feeds.
Checked on a database with an existing feed type notice (not deleted) and
on one without any references to the feed message transport type (deleted!)

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
Jonathan Druart 2014-05-21 10:18:38 +02:00 committed by Tomas Cohen Arazi
parent a7a757ba85
commit b73fea8aaa
9 changed files with 30 additions and 8 deletions

View file

@ -4,5 +4,4 @@ values
('email'),
('print'),
('sms'),
('feed'),
('phone');

View file

@ -4,5 +4,4 @@ values
('email'),
('print'),
('sms'),
('feed'),
('phone');

View file

@ -4,5 +4,4 @@ values
('email'),
('print'),
('sms'),
('feed'),
('phone');

View file

@ -4,5 +4,4 @@ values
('print'),
('email'),
('sms'),
('feed'),
('phone');

View file

@ -6,7 +6,6 @@ values
('email'),
('print'),
('sms'),
('feed'),
('phone');
SET FOREIGN_KEY_CHECKS=1;

View file

@ -25,5 +25,4 @@ values
('email'),
('print'),
('sms'),
('feed'),
('phone');

View file

@ -6,5 +6,4 @@ values
('email'),
('print'),
('sms'),
('feed'),
('phone');

View file

@ -6,5 +6,4 @@ values
('email'),
('print'),
('sms'),
('feed'),
('phone');

View file

@ -9543,6 +9543,36 @@ if ( CheckVersion($DBversion) ) {
SetVersion ($DBversion);
}
$DBversion = "3.17.00.XXX";
if ( CheckVersion($DBversion) ) {
my $count_l = $dbh->selectcol_arrayref(q|
SELECT COUNT(*) FROM letter WHERE message_transport_type='feed'
|);
my $count_mq = $dbh->selectcol_arrayref(q|
SELECT COUNT(*) FROM message_queue WHERE message_transport_type='feed'
|);
my $count_ott = $dbh->selectcol_arrayref(q|
SELECT COUNT(*) FROM overduerules_transport_types WHERE message_transport_type='feed'
|);
my $count_mt = $dbh->selectcol_arrayref(q|
SELECT COUNT(*) FROM message_transports WHERE message_transport_type='feed'
|);
my $count_bmtp = $dbh->selectcol_arrayref(q|
SELECT COUNT(*) FROM borrower_message_transport_preferences WHERE message_transport_type='feed'
|);
my $deleted = 0;
if ( $count_l->[0] == 0 and $count_mq->[0] == 0 and $count_ott->[0] == 0 and $count_mt->[0] == 0 and $count_bmtp->[0] == 0 ) {
$deleted = $dbh->do(q|
DELETE FROM message_transport_types where message_transport_type='feed'
|);
$deleted = $deleted ne '0E0' ? 1 : 0;
}
print "Upgrade to $DBversion done (Bug 12298: Delete the 'feed' message transport type " . ($deleted ? '(deleted!)' : '(not deleted)') . ")\n";
SetVersion($DBversion);
}
=head1 FUNCTIONS
=head2 TableExists($table)