2

I am trying to copy content from an old joomla instance to a new joomla instance. We archived the old site and created a completely new site with the same version of joomla both sites are at 3.6.4.

Now the new site has been built and the client wants to import 5000 articles (out of about 7000) from the old site to the new site.

I installed j2xml but had a lot of issues. First I could not export the all the articles php/apache could not deal with that many post variables. So I broke it up into chunks I spent yesterday importing the chunks. After completion a quick article count showed only half of the actual articles managed to import. There were other import issues along the way such as failed imports with no errors, failed user creation, only some of the articles being created etc. etc which meant I spent the whole day on it.

So I want to go back to first principles.

What steps do I have to follow to copy the content from the old site to the new site using sql?

2 Answers 2

1

It would be simpler if you would have asked before building a new website, as me personally I would have suggested you to copy the old database and build over there.

Now there more things to consider with more important the article ids and their assets. There are still more extensions that make transfers of joomla data between websites - but the number of articles you want to transfer is big, and it might not be easy to use them.

Moreover, I guess you have created new articles, menu items, to create your new pages - relationships of the tables in the database are now changed new ids, assets, menu items, tags and who know what else...

So there can be a mess if you just import data from the old database.

Update:

@DeveloperChris - I see.

Check also the extensions proposed by Neil in the other answer - although it might not be easy again to handle that big number of articles.

How easy is the whole content transfer, depends on the differences between the 2 sites (categories, menu items, article ids, tags etc) and the exact expected result you want to achieve (e.g. keep old URLs, keep same associations with other data, etc)

Maybe create a new clone of the new website with a new database and start transferring there items as per your needs. Tables you might need are the #__content of course, #__assets, the one that is associates tags with articles etc.

4
  • Originally the old site was being maintained as a separate site containing the archived content. The client decided at a much later date they wanted to import the content and retire the old site. From what I can see building/creating the user and category links which have changed or don't exist in the new site is the major issue. Commented Jan 17, 2017 at 0:49
  • 1
    I have found this.. zunostudios.com/blog/development/… it seems fairly simple and my use case is pretty simple I don't need to worry about menu's tags images etc. its only the asset table which the link above seems to deal with. Commented Jan 17, 2017 at 2:35
  • @DeveloperChris, I see - check the update of my answer - not something much more helpful though.
    – FFrewin
    Commented Jan 18, 2017 at 6:04
  • I am already working on a clone. I would never try this on prod. But I have run into a lot of unexpected problems with the categories. I am working through those issues now. Commented Jan 19, 2017 at 2:40
0

Maybe not the answer you are looking for but I'd try another transfer extension such as SP Transfer which seems fairly well regarded in the JED or there may be something else suitable in the Data Import & Export category.

I haven't used SP Transfer myself but if it works the same way as SP Upgrade, it will handle a large number of articles and can be restarted from where it left off if the transfer times out etc.

SP Transfer can also copy categories, tags, menus and other items which may save you some time.

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.