Avatar of SonicVoom
SonicVoom
Flag 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?

WordPressMySQL ServerPHP

Avatar of undefined
Last Comment
SonicVoom

8/22/2022 - Mon
johanntagle

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.
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.
johanntagle

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.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
SonicVoom

ASKER
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?
johanntagle

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
SonicVoom

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
SonicVoom

ASKER
Thanks for the other suggestions.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.