view mod_migrate/README.markdown @ 4579:b305814bd930

mod_muc_dicebot: A thing to roll dice Do you see what happens, Jitsi? Do you see what happens when you make it hard for me to use a proper bot? This is what happens, Jitsi. This is what happens when you meet a stranger in the alps! Ahem. In all seriousness, this is more of a quick hack than anything else. It will look for `.r` in MUC messages and if it finds it, it'll interpret it as an instruction to roll a few dice. Injects the results in the body of the message. Eats the message alive if it is malformed.
author Jonas Schäfer <jonas@wielicki.name>
date Sat, 29 May 2021 15:17:05 +0200
parents c5122b7633a8
children
line wrap: on
line source

---
summary: prosodyctl cross storage driver migration tool
...

Introduction
============

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

Usage
=====

    prosodyctl mod_migrate example.com <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 example.com accounts sql`
3.  Repeat for each store, substituting 'accounts'. E.g. vcards,
    private...
4.  Change the [`storage` configuration](https://prosody.im/doc/storage)
    to use the new driver.
5.  Start prosody again.

Examples
========

``` sh
prosodyctl mod_migrate example.com accounts,roster,private,vcard sql
```

Compatibility
=============

Should work with 0.8 and later.