Avatar of 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

8/22/2022 - Mon

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.

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

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.

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
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.

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