sadpandajoe opened a new pull request, #42393:
URL: https://github.com/apache/superset/pull/42393

   ### SUMMARY
   
   When a dataset's metrics or columns are organized into custom folders, the 
folder
   assignments are lost after an export/import round-trip. Folder membership in 
the
   exported YAML references metrics and columns by UUID, but
   `ImportExportMixin.export_to_dict` did not forward `export_uuids` into the 
recursive
   child export, and the metric/column export schemas omitted `uuid`. Exported 
children
   therefore carried no UUID, so import assigned fresh UUIDs and the persisted 
`folders`
   structure kept pointing at the old UUIDs. On load, the affected metric was 
re-homed to
   the default folder.
   
   This change forwards `export_uuids` into the recursive child export and 
accepts `uuid`
   on the import column and metric schemas so the original UUIDs round-trip. 
Folder
   membership now survives an export/import cycle. There is no schema or 
database
   migration, and the behavior is unchanged when `export_uuids=False`.
   
   ### TESTING INSTRUCTIONS
   
   Added a command-level export then import round-trip regression test that 
asserts a
   metric's custom-folder membership is preserved. The existing dataset 
export/import unit
   and integration suites continue to pass.
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue:
   - [ ] Required feature flags:
   - [ ] Changes UI
   - [ ] Includes DB Migration (follow approval process in 
[SIP-59](https://github.com/apache/superset/issues/13351))
   - [ ] Introduces new feature or API
   - [ ] Removes existing 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]

Reply via email to