mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-21 14:20:13 +08:00
* It only imports users and emails so far * It stores mapped IDs and usernames in a SQLite DB. In the future, we might want to copy those into the Discourse DB at the end of a migration. * The importer is split into steps which can mostly be configured with a simple DSL * Data that needs to be shared between steps can be stored in an instance of the `SharedData` class * Steps are automatically sorted via their defined dependencies before they are executed * Common logic for finding unique names (username, group name) is extracted into a helper class * If possible, steps try to avoid loading already imported data (via `mapping.ids` table) * And steps should select the `discourse_id` instead of the `original_id` of mapped IDs via SQL |
||
|---|---|---|
| .. | ||
| steps | ||
| copy_step.rb | ||
| discourse_db.rb | ||
| executor.rb | ||
| mapping_type.rb | ||
| shared_data.rb | ||
| step.rb | ||
| step_stats.rb | ||
| topological_sorter.rb | ||
| unique_name_finder.rb | ||