view mod_migrate/README.markdown @ 2970:c5122b7633a8

mod_migrate: Mention the possible need to supply the list of users
author Kim Alvefur <>
date Fri, 30 Mar 2018 13:40:50 +0200
parents e4b04c0c4b15
line wrap: on
line source

summary: prosodyctl cross storage driver migration tool


This module adds a command to `prosodyctl` for copying data between
storage drivers.


    prosodyctl mod_migrate <source-store>[-<store-type>] <target-driver> [users]*

`<source-store>` would be e.g. `accounts` or `private`. To migrate
archives, the optional suffix `<store-type>` would be set to `archive`,
so e.g. `archive2-archive` or `muc_log-archive`. Multiple stores can be
given if separated by commas.

`<target-driver>` is the storage driver to copy data to, sans the
`mod_storage_` prefix.

`mod_migrate` tries to request a list of users from `usermanager`, but
this does not always work. If so, you can supply usernames as arguments
after the target driver.

The process is something like this:

1.  Decide on the future configuration and add for example SQL
    connection details to your prosody config, but don't change the
    `store` option yet.
2.  With Prosody shut down, run
    `prosodyctl mod_migrate accounts sql`
3.  Repeat for each store, substituting 'accounts'. E.g. vcards,
4.  Change the [`storage` configuration](
    to use the new driver.
5.  Start prosody again.


``` sh
prosodyctl mod_migrate accounts,roster,private,vcard sql


Should work with 0.8 and later.