#!/usr/bin/perl $db_server = "localhost"; $db_user = ""; $db_password = ""; $db_database = "dixitdb"; $db_table = "dixit_pages"; $db2_server = "localhost"; $db2_user = ""; $db2_password = ""; $db2_database = "etomitedb"; $db2_table = "etomite_site_content"; use DBI; $dbh = DBI->connect("dbi:mysql:$db_database:$db_server",$db_user,$db_password) || die("Can't connect"); $db2h = DBI->connect("dbi:mysql:$db2_database:$db2_server",$db2_user,$db2_password) || die("Can't connect"); $sql = "SELECT id,title,content,root,topicId,UNIX_TIMESTAMP(startDate),userId,template,status,position FROM $db_table;"; $idr = $dbh->selectall_arrayref($sql); while (defined($idr->[$row][0])){ $id = f($idr->[$row][0]); $title = f($idr->[$row][1]); $content = f($idr->[$row][2]); $root = f($idr->[$row][3]); $folder = 0; $folder = 1 if ($root); $topicId = f($idr->[$row][4]); $startDate = f($idr->[$row][5]); $userId = f($idr->[$row][6]); $template = f($idr->[$row][7]); $status= f($idr->[$row][8]); $position= f($idr->[$row][9]); # This was the to templates I used.. just number each of your templates $t = 1 if ($template == "vanlig.tmpl.php"); $t = 2 if ($template == "newsindex.tmpl.php"); $update = "INSERT INTO `$db2_table` ( `id` , `type` , `contentType` , `pagetitle` , `longtitle` , `description` , `alias` , `published` , `pub_date` , `unpub_date` , `parent` , `isfolder` , `content` , `richtext` , `template` , `menuindex` , `searchable` , `cacheable` , `createdby` , `createdon` , `editedby` , `editedon` , `deleted` , `deletedon` , `deletedby` ) VALUES ( '$id', 'document', 'text/html', '$title', '', '', '', '1', '0', '0', '$topicId', '$folder', '$content', '1', '$t', '0', '1', '1', '1', '$startDate', '1', '$startDate', '0', '0', '0' );"; $id2r = $db2h->do($update); if (!$id2r) { print "\nSQL: ".$update."\n"; }; $row++; } # quick fix to escape single quotes. sub f() { my ($a) = (@_); $a =~ s/\\\'/\\\\\'/gi; $a =~ s/\'/\\\'/gi; return $a; }