- Add SQLite database integration for environments and mappings - Update TaskManager to support pausing tasks (AWAITING_MAPPING) - Modify MigrationPlugin to detect missing mappings and wait for resolution - Add frontend UI for handling missing mappings interactively - Create dedicated migration routes and API endpoints - Update .gitignore and project documentation
1.4 KiB
1.4 KiB
Quickstart: Migration Process and UI Redesign
Setup
-
Install Dependencies:
pip install rapidfuzz sqlalchemy cd frontend && npm install -
Configure Environments: Ensure you have at least two Superset environments configured in the application settings.
-
Initialize Database: The system will automatically create the
mappings.dbSQLite file on the first run.
Usage
1. Define Mappings
- Navigate to the Database Mapping tab.
- Select your Source and Target environments.
- Click Fetch Databases.
- Review the Suggested Mappings (highlighted in green).
- Manually adjust any mappings using the dropdowns.
- Click Save Mappings.
2. Run Migration
- Go to the Migration dashboard.
- Select the Source and Target environments.
- Select the assets (Dashboards/Datasets) you want to migrate.
- Enable the Replace Database toggle.
- Click Start Migration.
- If a database is missing a mapping, a modal will appear prompting you to select a target database.
Troubleshooting
- Connection Error: Ensure the backend can reach both Superset instances. Check credentials in settings.
- Mapping Not Applied: Verify that the "Replace Database" toggle was enabled and that the mapping exists for the specific environment pair.
- Fuzzy Match Failure: If names are too different, manual mapping is required. The system learns from manual overrides.