GitHub user dosubot[bot] added a comment to the discussion: Critical Display 
Issues After Upgrading Superset from 4.0.1 to 6.0.0

<!-- Greeting -->
Hi @sword141992! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the 
superset team.

<!-- Answer -->
Your issues stem from stricter validation and frontend/layout changes in 
Superset 6.0.0. The error about duplicate column/metric labels is enforced by 
the backend and must be resolved for dashboards to render correctly. Manual 
fixes are impractical at your scale, but Superset provides migration utilities 
to automate most of this work.

You can use the CLI command group `migrate_viz` to bulk-upgrade charts by type 
or by specific IDs. This command applies migration logic for each visualization 
type, updating chart configuration and normalizing data to meet new frontend 
and validation requirements. For example, to upgrade all bar charts:

```bash
superset migrate_viz upgrade --viz_type bar
```

Or to upgrade specific charts by ID:

```bash
superset migrate_viz upgrade --id 123 --id 456
```

This process is powered by migration classes that handle renaming/removing 
keys, restructuring query objects, and updating form data for each chart type, 
which helps resolve issues like duplicate labels and layout/CSS changes. See 
the migration logic for details on what gets transformed for each viz type 
([reference](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/migrations/shared/migrate_viz/processors.py#L50-L645)).

For dashboards, the import/export logic and the `migrate_dashboard` function 
can convert legacy filter configurations to the new native filter format, 
update dashboard metadata/layout, and remove obsolete filter-box charts. You 
can export dashboards as JSON, then re-import them using the built-in 
importers, which will trigger these migrations 
([reference](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/commands/dashboard/importers/v0.py#L84-L348)).

There is no configuration flag to relax the unique label validation; 
remediation is expected to be handled via these migration utilities and data 
normalization 
([reference](https://github.com/apache/superset/blob/master/superset/common/query_object.py)).

For custom CSS issues, note that the `CUSTOM_FONT_URLS` config was removed in 
6.0.0. You now need to use the `fontUrls` token in your theme configuration 
([reference](https://github.com/apache/superset/pull/36745)).

Recommended workflow:
1. Run `migrate_viz` for all relevant chart types.
2. Export dashboards as JSON, then re-import them to trigger dashboard and 
filter migrations.
3. Update any custom theme/font settings to the new format.
4. Validate a sample of dashboards for edge cases or custom code.

This approach should automate the bulk of the upgrade and remediation process 
for your dashboards and charts.


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? 
[Good](https://app.dosu.dev/response-feedback/fdde7d0c-949d-4466-9f85-6db388403c6b?feedback_type=great_response)
 | 
[Irrelevant](https://app.dosu.dev/response-feedback/fdde7d0c-949d-4466-9f85-6db388403c6b?feedback_type=irrelevant_answer)
 | 
[Incorrect](https://app.dosu.dev/response-feedback/fdde7d0c-949d-4466-9f85-6db388403c6b?feedback_type=incorrect_sources)
 | 
[Verbose](https://app.dosu.dev/response-feedback/fdde7d0c-949d-4466-9f85-6db388403c6b?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/fdde7d0c-949d-4466-9f85-6db388403c6b?feedback_type=hallucination)
 | [Report 
šŸ›](https://app.dosu.dev/response-feedback/fdde7d0c-949d-4466-9f85-6db388403c6b?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/fdde7d0c-949d-4466-9f85-6db388403c6b?feedback_type=other)</sup>

[![Chat with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&nbsp;[![Open
 in 
Cursor](https://dosu.dev/dosu-in-cursor.svg)](https://cursor.com/link/prompt?text=Your%20issues%20stem%20from%20stricter%20validation%20and%20frontend/layout%20changes%20in%20Superset%206.0.0.%20The%20error%20about%20duplicate%20column/metric%20labels%20is%20enforced%20by%20the%20backend%20and%20must%20be%20resolved%20for%20dashboards%20to%20render%20correctly.%20Manual%20fixes%20are%20impractical%20at%20your%20scale%2C%20but%20Superset%20provides%20migration%20utilities%20to%20automate%20most%20of%20this%20work.%0A%0AYou%20can%20use%20the%20CLI%20command%20group%20%60migrate_viz%60%20to%20bulk-upgrade%20charts%20by%20type%20or%20by%20specific%20IDs.%20This%20command%20applies%20migration%20logic%20for%20each%20visualization%20type%2C%20updating%20chart%20configuration%20and%20normalizing%20data%20to%20meet%20new%20frontend%20and%2
 
0validation%20requirements.%20For%20example%2C%20to%20upgrade%20all%20bar%20charts%3A%0A%0A%60%60%60bash%0Asuperset%20migrate_viz%20upgrade%20--viz_type%20bar%0A%60%60%60%0A%0AOr%20to%20upgrade%20specific%20charts%20by%20ID%3A%0A%0A%60%60%60bash%0Asuperset%20migrate_viz%20upgrade%20--id%20123%20--id%20456%0A%60%60%60%0A%0AThis%20process%20is%20powered%20by%20migration%20classes%20that%20handle%20renaming/removing%20keys%2C%20restructuring%20query%20objects%2C%20and%20updating%20form%20data%20for%20each%20chart%20type%2C%20which%20helps%20resolve%20issues%20like%20duplicate%20labels%20and%20layout/CSS%20changes.%20See%20the%20migration%20logic%20for%20details%20on%20what%20gets%20transformed%20for%20each%20viz%20type%20%28%5Breference%5D%28https%3A//github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/migrations/shared/migrate_viz/processors.py%23L50-L645%29%29.%0A%0AFor%20dashboards%2C%20the%20import/export%20logic%20and%20the%20%60migrate_dashboard%60%2
 
0function%20can%20convert%20legacy%20filter%20configurations%20to%20the%20new%20native%20filter%20format%2C%20update%20dashboard%20metadata/layout%2C%20and%20remove%20obsolete%20filter-box%20charts.%20You%20can%20export%20dashboards%20as%20JSON%2C%20then%20re-import%20them%20using%20the%20built-in%20importers%2C%20which%20will%20trigger%20these%20migrations%20%28%5Breference%5D%28https%3A//github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/commands/dashboard/importers/v0.py%23L84-L348%29%29.%0A%0AThere%20is%20no%20configuration%20flag%20to%20relax%20the%20unique%20label%20validation%3B%20remediation%20is%20expected%20to%20be%20handled%20via%20these%20migration%20utilities%20and%20data%20normalization%20%28%5Breference%5D%28https%3A//github.com/apache/superset/blob/master/superset/common/query_object.py%29%29.%0A%0AFor%20custom%20CSS%20issues%2C%20note%20that%20the%20%60CUSTOM_FONT_URLS%60%20config%20was%20removed%20in%206.0.0.%20You%20now%20need%20to%2
 
0use%20the%20%60fontUrls%60%20token%20in%20your%20theme%20configuration%20%28%5Breference%5D%28https%3A//github.com/apache/superset/pull/36745%29%29.%0A%0ARecommended%20workflow%3A%0A1.%20Run%20%60migrate_viz%60%20for%20all%20relevant%20chart%20types.%0A2.%20Export%20dashboards%20as%20JSON%2C%20then%20re-import%20them%20to%20trigger%20dashboard%20and%20filter%20migrations.%0A3.%20Update%20any%20custom%20theme/font%20settings%20to%20the%20new%20format.%0A4.%20Validate%20a%20sample%20of%20dashboards%20for%20edge%20cases%20or%20custom%20code.%0A%0AThis%20approach%20should%20automate%20the%20bulk%20of%20the%20upgrade%20and%20remediation%20process%20for%20your%20dashboards%20and%20charts.)&nbsp;[![Join
 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//git
 hub.com/apache/superset/discussions/37145)

GitHub link: 
https://github.com/apache/superset/discussions/37145#discussioncomment-15502762

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to