Arunodoy18 opened a new pull request, #37907:
URL: https://github.com/apache/superset/pull/37907
SUMMARY
This PR improves dataset export/import reliability by ensuring dataset
UUID-based identity is consistently preserved and used during YAML
export/import workflows.
Currently, dataset YAML exports rely heavily on name-based identity, which
can lead to ambiguity when multiple datasets share the same name or when
datasets are renamed across environments. Dashboards and charts already rely on
UUID-based identity, but datasets did not fully follow the same pattern.
This change ensures:
• Dataset UUID is always included and preserved in export metadata
• Import logic prefers UUID-based resolution when available
• Name-based resolution is preserved as a fallback for legacy exports
The implementation is intentionally minimal and does not change dataset
identity models, database schema, or overall import/export architecture.
BEFORE / AFTER
Before
Dataset YAML exports could cause collisions if dataset names matched
Import sometimes depended on name matching
CI/CD asset promotion could become unreliable across environments
After
Dataset UUID is always available for identity resolution
Import prioritizes UUID mapping when present
Legacy exports continue to work via name fallback
Behavior is aligned with dashboard and chart asset identity handling
TESTING INSTRUCTIONS
Automated Tests Added
Export datasets with identical names but different UUIDs → verified unique
identity preserved
Import prefers UUID mapping when present → verified correct dataset mapping
Legacy export without UUID → verified name fallback still works
Multi-dataset dashboard export/import → verified no regression
Manual Verification
Create two datasets with same name but different tables
Export assets as YAML/ZIP
Import into new environment
Verify datasets map correctly without collisions
Verify dashboards/charts still resolve correct datasets
ADDITIONAL INFORMATION
Has associated issue: Fixes #16141
Required feature flags
Changes UI
Includes DB Migration
Introduces new feature or API
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]