Merging Two Phpbb Databse

hello all,
a super out topic question. maybe someone can help.

i m helping a friend with manteining his home pages. he has two page with TWo PhpBB database.

i need to merge them ( keeping contents + user intact possibly :slight_smile:

kant find any good links for it. someone know some good links?

ciao

rt

if those phpbb are the same versions and if the same table names are used you can use phpmyadmin (or use the phpbb backup/export function in the admin section) to export the contents of one of those boards to a file and insert it in the other.

However some usernames might be the same, tables may have different names and there might be other differences (versions for example).

So make a copy of both boards and try it in a testing environment. If you get errors or weird things you have to edit the file with the sql data you exported.

I find most php related info simply on php.net. The php manual also has many user comments which helps out sometimes… When I need help I usually go to phpportalen.net, but that’s in Swedish (hmm… don’t remember where you’re from…)

It’s more a MySQL related problem.

That’s true, but some examples can be there and php itself has a couple of implemented MySQL functions (probably not applicable here though). But how about www.mysql.com then? Personally I don’t like that manual very much, but use it sometimes anyway. I find it more often better and faster to learn yourself than to take examples and modify them to fit your situation.

If you don’t get phpmyadmin to work, you could always read both the tables to arrays, merge them with some nifty php function and write them to a new table in your code. Probably not the easiest solution though…

How about Google? ;)

to do such a thing you will need some serious php scripting here. each database design has various tables linked together by some kind of primary ids. in example : a user table contains a user record, this record was given the id 24. an article was created by that user some time later. the article record needs to know who created it, so its stores the id 24 pointing to the correct user record.

so, most of the phpboard tables will be linked using such ids. what you need to do is :

  • write a an small api (probably using and delegating the php board api functions) with methods like this (and MANY MORE, it depends what you want to merge):

  • int[] getUserIdsInDatabase()

  • User getUserById(id)

  • Article[] getArticlesCreatedByUser(int id)

  • int addNewUserToDatabase(User user)

  • int convertForeginArticleAndStoreInDatabase(Article foreginArticle, int internalUserId)

  • use the new api to read and write new records (new primary ids are stored in those arrays / lookups)

an experienced php programmer could get it done within 1-2 days (if the database architecture isnt too complex)

the major probem here is to understand the database design. you need to know how articles, threads, users, replys etc. are glued together. once you have the picture of this, its only about writing some stupid functions and queries (if you dont like to use the phpBB api - if there is any)

Of course, forgot about the id’s :rolleyes:

thanx for useful ( and less useful ) reply.

i delete one database and f**** it. i ll add user by hand…
( only an hundred or so:-)))

ciao

rot