#!/usr/bin/perl -w use strict; use DBI; $| = 1; my $user='user'; my $pass = 'password'; my $siteid = 5662; my $newdbh = DBI->connect("DBI:mysql:database=DADADATABASENAME",'DADAUSER', 'DADAPASSWORD'); my $olddbh = DBI->connect("DBI:mysql:database=IMCDATABASENAME",'IMCUSERNAME', 'IMCPASSWORD'); my ($firstnewid, $lastnewid); my $query = "select id, title, image_url, link_1, link_2, link_3, body, timestamp, image_caption, link_1_title, link_2_title, link_3_title, language, sub_title from FEATURES where site_id = $siteid"; my $sth = $olddbh->prepare($query); $sth->execute(); print "articles selected, parsing and insering..."; while (my @r = $sth->fetchrow_array) { # # Append any links to the bottom of the body # if($r[2]) { $r[6] = "\"$r[8]\"" . $r[6]; } if ($r[3] and $r[9]) { $r[6] .= "
[ $r[9]"; } if ($r[4] and $r[10]) { $r[6] .= " | $r[10]"; } if ($r[5] and $r[11]) { $r[6] .= " | $r[11]"; } if ($r[3] and $r[9]) { $r[6] .= " ]"; } my $date; if ($r[7] =~ /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/) { $date = "$1-$2-$3 $4:$5:$6"; } else { warn "bad time for article $r[0]\n"; } $r[1] .= ": " . $r[13]; #print "I see article $r[1], time $r[7]/$date\n$r[6]\n"; # # Puts all into 'miscellaneous' category, sets to displayable, # makes all features. # $query = "insert into articles (created_datetime, edit_datetime, heading, summary, displayable, feature, mime_type) values (?, ?, ?, ?, 1, 1, 'text/html')"; my $in_sth = $newdbh->prepare($query); $in_sth->execute($date, $date, $r[1], $r[6]); # # get id of just-inserted row so media can be inserted # $query = "select max(objectid) from articles"; $in_sth = $newdbh->prepare($query); $in_sth->execute(); my ($newid) = $in_sth->fetchrow_array; $firstnewid = $newid if (! $firstnewid); $lastnewid = $newid; if ($r[2]) { $query = "insert into media (parentid, filename, caption, remote) values (?,?,?,1)"; $in_sth = $newdbh->prepare($query); $in_sth->execute($newid, $r[2], $r[8]); } } print "done! The objectid of the first record inserted was $firstnewid, and the last was $lastnewid.\n";