Migrating rosters from v. 0.9.8 to new release 2.0.5

Help,

I have installed and configured everything correctly but now I need to copy over our users' rosters to my new installation that is on a different server. I'm not certain if because of the big version gap (version 0.9.8 - version 2.0.5) if the structure has changed too much for me to copy everything over.

I went to the database files (mnesia) on the old server and changed all of the server names to the new server but it did not help and when I copied everything over, my ejabberd would not start.

So, I put everything back at the original state and wondered if there are specific database files that I can copy over? I tried copying over only the roster.DCD and roster.DCL files with the correct server names in the files but that still did not work.

Any suggestions?

Thanks.

Maybe the Erlang node names are different

"that is on a different server"

I guess this means "a different computer".

In most cases you can simply copy the Mnesia spool directory (all those DCD, DCL... files) to the new computer, and let ejabberd update the database structure if needed.

There can be one problem, which I assume you are seeing. If your old ejabberd was running in an Erlang node with name "ejabberd@machine1", and your new ejabberd runs in an Erlang node with name "ejabberd@machine2".

For example, when I start ejabberd I see in ejabberd.log:

=PROGRESS REPORT==== 22-Jun-2009::16:33:52 ===
         application: ejabberd
          started_at: ejabberd@localhost

Solution. Find what is the Erlang node name of your old ejabberd. If it wasn't the same than in the new machine, then edit ejabberdctl.cfg in your new machine, and put the old name. Something like:

ERLANG_NODE=ejabberd@machine1
Syndicate content