Link to home
Start Free TrialLog in
Avatar of SonicVoom
SonicVoomFlag for United States of America

asked on

migrate comments from an old Wordpress database to new DB with different post ID's

Simple description: How can I migrate post comments from an old WP site where the post ID's are different on the new site?

Long description:
We are migrating away from an old custom CMS. It uses a mySQL DB to hold its articles. Comments were an afterthought, and we simply added a link at the end of each article to a wordpress post that merely held comments.

The articles DB table has two useful fields: article name, and the post ID of the corresponding WP post of the comments.

We need to import the comments into the new fully wordpress-based site. All articles have been imported to posts. Those post ID's do not match up to the comment posts on the old WP site.

To locate comments to import, the old articles database must be searched for a post title from the new WP database. The old/new titles are only similar, but will usually match up. When a title is matched, the blog_link field will reference the post ID of the corresponding comment post. Then I can replace the comment_post_ID in each old comment with the new post ID and insert all those into the new site comment table.

There's my outline. Can anyone suggest any helpful tools? Maybe an application or PHP API/framework for sorting and processing through multiple databases?

Avatar of johanntagle
johanntagle
Flag of Philippines image

Suggest you make a table that maps the old and new post ids.  Dont think you can fully automate populating this because as you said, the titles are not exact matches.  But once you have this table, its easy to make a script, whether in a stored procedure or an external perl/ruby/whatever script, to copy the data over.
Avatar of SonicVoom

ASKER

Yes, that's a good starting place. But I'd like to try to automate it, as there are many.

How could I iterate through a db table, searching for the string from a field, in a field of another database?

I would need to manually check the results, so perhaps the search string and result could be placed in a table together.
Take a look at full text searching.  Create a full text index on the old title column and do lookups using keywords from the new titles.
That is a good plan. I also need advice on tools for searching and manipulating this data. For example, applications or frameworks that assist in searching through several mysql databases.

I'm just now beginning to study SQL in this capacity.

Might the Wordpress database wrapper functions be able to address some of this?
Sorry, I don't use Wordpress so I cannot answer your last question.  For the first one, I think this is manageable using any of the popular languages available.  I would personally use Ruby and the Sequel gem (http://sequel.rubyforge.org/).  In the past I would have used Perl.
ASKER CERTIFIED SOLUTION
Avatar of SonicVoom
SonicVoom
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for the other suggestions.