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> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github) [](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.) [](https://go.dosu.dev/discord-bot) [](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]
