#!/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";