#!/usr/bin/perl
use DBI;
my $blogname = "NAME OF THE BLOG";
my $dbname = 'DATABASENAME';
my $hostname = 'localhost'; # Change this if the db is on another box
my $dbuser = 'DBUSER';
my $dbpass = 'DBPASS';
$dbh=DBI->connect("dbi:mysql:database=$dbname;host=$hostname",$dbuser,$dbpass);
$filename = shift;
$oldid = $filename;
$oldid =~ s/([0-9]+)//g;
$oldid = $1;
$oldid = $oldid + 0;
$titlestr = `grep '
' $filename`;
chop $titlestr;
#print "$titlestr\n";
$pattern = "m|${blogname}:\s+(.+?)|";
if ($titlestr =~ $pattern) {
$title = $1;
}
else {
$pattern = "m|${blogname}:\s+(.+)|";
$titlestr =~ $pattern;
$title = $1;
}
$qtitle = $dbh->quote($title);
$sth = $dbh->prepare("SELECT entry_id FROM mt_entry WHERE entry_title = $qtitle");
$sth->execute;
if ($sth->rows != 1) {
print "$titlestr\n";
print "OLD ID: $oldid TITLE: $title\n";
die "Could not correctly get old ID $oldid working";
}
$href = $sth->fetchrow_hashref;
$entry = $href->{'entry_id'};
$sth->finish;
$dbh->do("UPDATE mt_entry SET entry_id='$oldid' WHERE entry_id='$entry'");
$dbh->do("UPDATE mt_comment SET comment_entry_id='$oldid' WHERE comment_entry_id='$entry'");
$dbh->do("UPDATE mt_trackback SET trackback_entry_id='$oldid' WHERE trackback_entry_id='$entry'");
$dbh->do("DELETE from mt_entry WHERE entry_id='$entry'");
#print "OLD ID: $oldid TITLE: $title\n";