Mercurial > prosody-modules
annotate mod_migrate/README.markdown @ 5119:048e339706ba
mod_rest: Remove manual reference expansion in schema
This hack was originally added to reduce the number of definitions of
common attributes (type, to, from etc) and payloads (e.g. delay). This
predated pointers and references, and until now was needed because
parsing picked out the correct stanza kind from the schema, which broke
internal references.
Removing this hack paves the way for allowing the schema to be
configured or customized more easily.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 20 Dec 2022 21:48:28 +0100 |
parents | c5122b7633a8 |
children |
rev | line source |
---|---|
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
1 --- |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
2 summary: prosodyctl cross storage driver migration tool |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
3 ... |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
1814
7b4e841dcd77
mod_migrate/README: Change headings and adjust usage string
Kim Alvefur <zash@zash.se>
parents:
1813
diff
changeset
|
5 Introduction |
7b4e841dcd77
mod_migrate/README: Change headings and adjust usage string
Kim Alvefur <zash@zash.se>
parents:
1813
diff
changeset
|
6 ============ |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
8 This module adds a command to `prosodyctl` for copying data between |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
9 storage drivers. |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
10 |
1814
7b4e841dcd77
mod_migrate/README: Change headings and adjust usage string
Kim Alvefur <zash@zash.se>
parents:
1813
diff
changeset
|
11 Usage |
7b4e841dcd77
mod_migrate/README: Change headings and adjust usage string
Kim Alvefur <zash@zash.se>
parents:
1813
diff
changeset
|
12 ===== |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
13 |
1814
7b4e841dcd77
mod_migrate/README: Change headings and adjust usage string
Kim Alvefur <zash@zash.se>
parents:
1813
diff
changeset
|
14 prosodyctl mod_migrate example.com <source-store>[-<store-type>] <target-driver> [users]* |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
16 `<source-store>` would be e.g. `accounts` or `private`. To migrate |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
17 archives, the optional suffix `<store-type>` would be set to `archive`, |
2481
854aaa1f01b2
mod_migrate/README: Document the ability to specify multiple comma separated stores to migrate
Kim Alvefur <zash@zash.se>
parents:
1976
diff
changeset
|
18 so e.g. `archive2-archive` or `muc_log-archive`. Multiple stores can be |
854aaa1f01b2
mod_migrate/README: Document the ability to specify multiple comma separated stores to migrate
Kim Alvefur <zash@zash.se>
parents:
1976
diff
changeset
|
19 given if separated by commas. |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
21 `<target-driver>` is the storage driver to copy data to, sans the |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
22 `mod_storage_` prefix. |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 |
2970
c5122b7633a8
mod_migrate: Mention the possible need to supply the list of users
Kim Alvefur <zash@zash.se>
parents:
2824
diff
changeset
|
24 `mod_migrate` tries to request a list of users from `usermanager`, but |
c5122b7633a8
mod_migrate: Mention the possible need to supply the list of users
Kim Alvefur <zash@zash.se>
parents:
2824
diff
changeset
|
25 this does not always work. If so, you can supply usernames as arguments |
c5122b7633a8
mod_migrate: Mention the possible need to supply the list of users
Kim Alvefur <zash@zash.se>
parents:
2824
diff
changeset
|
26 after the target driver. |
c5122b7633a8
mod_migrate: Mention the possible need to supply the list of users
Kim Alvefur <zash@zash.se>
parents:
2824
diff
changeset
|
27 |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 The process is something like this: |
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
30 1. Decide on the future configuration and add for example SQL |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
31 connection details to your prosody config, but don't change the |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
32 `store` option yet. |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
33 2. With Prosody shut down, run |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
34 `prosodyctl mod_migrate example.com accounts sql` |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
35 3. Repeat for each store, substituting 'accounts'. E.g. vcards, |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
36 private... |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
37 4. Change the [`storage` configuration](https://prosody.im/doc/storage) |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
38 to use the new driver. |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
39 5. Start prosody again. |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
40 |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
41 Examples |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
42 ======== |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
43 |
2481
854aaa1f01b2
mod_migrate/README: Document the ability to specify multiple comma separated stores to migrate
Kim Alvefur <zash@zash.se>
parents:
1976
diff
changeset
|
44 ``` sh |
2824
e4b04c0c4b15
mod_migrate: Fix missing mod_ prefix in invocation example (thanks asterix)
Kim Alvefur <zash@zash.se>
parents:
2481
diff
changeset
|
45 prosodyctl mod_migrate example.com accounts,roster,private,vcard sql |
2481
854aaa1f01b2
mod_migrate/README: Document the ability to specify multiple comma separated stores to migrate
Kim Alvefur <zash@zash.se>
parents:
1976
diff
changeset
|
46 ``` |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
47 |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
48 Compatibility |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
49 ============= |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
50 |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
51 Should work with 0.8 and later. |