Only convert to InnoDB if not already done

This commit is contained in:
Daniel Berteaud 2013-05-15 09:37:17 +02:00
parent 52e7d7997c
commit e6b501d606
1 changed files with 7 additions and 5 deletions

View File

@ -5,6 +5,12 @@ my $pass = ${'qpsmtpd'}{'DbPassword'} || 'secret';
my $dbstruct = `rpm -qd smeserver-qpsmtpd-log2sql | grep smtp_log.sql`;
my $convertInnoDB = '';
foreach my $table qw(messages message_headers message_body rcpts){
$convertInnoDB .= "ALTER TABLE $table ENGINE=InnoDB;\n"
if (-e "/var/lib/mysql/$db/$table.MYD");
}
$OUT .= <<"END";
#! /bin/sh
if [ ! -d /var/lib/mysql/$db ]; then
@ -43,11 +49,7 @@ REPLACE INTO db (
FLUSH PRIVILEGES;
USE smtp_log;
ALTER TABLE messages ENGINE=InnoDB;
ALTER TABLE message_headers ENGINE=InnoDB;
ALTER TABLE message_body ENGINE=InnoDB;
ALTER TABLE rcpts ENGINE=InnoDB;
$convertInnoDB
EOF
END