dosubot[bot] commented on issue #35941: URL: https://github.com/apache/superset/issues/35941#issuecomment-3477879339
<!-- Greeting --> Hi @EgorTarsenko! I'm [Dosu](https://go.dosu.dev/dosubot) and Iām helping the superset team. <!-- Answer --> This is a bug in Superset's tagging system. The root cause is that the `tagged_object` table's `object_id` column is incorrectly defined with multiple foreign key constraints referencing `dashboards.id`, `slices.id`, and `saved_query.id` at the same time. Standard SQL does not support this kind of polymorphic foreign key, so when you try to tag a dashboard, the database expects the dashboard's ID to exist in the `slices` table, which causes the foreign key violation you see. The correct design is for `object_id` to NOT have a foreign key constraint to any of those tables, and instead rely on the `object_type` field to distinguish what is being tagged, as in the original migration and model design. This issue blocks dashboard creation and tagging when the feature flag is enabled. There are currently no documented workarounds or merged fixes for this issue. If you need to unblock dashboard creation, you can temporarily disable the `TAGGING_SYSTEM` feature flag, or consider removing the foreign key constraint from the `tagged_object.object_id` column in your database schema to match the intended polymorphic design. For more details, see the relevant code and migration references: - [tagged_object table definition](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/tags/models.py#L80-L307) - [original migration without FK constraint](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/migrations/versions/2018-07-26_11-10_c82ee8a39623_add_implicit_tags.py#L83-L89) <!-- 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/68ac544a-886e-423b-b71b-b59d2466cf1d?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/68ac544a-886e-423b-b71b-b59d2466cf1d?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/68ac544a-886e-423b-b71b-b59d2466cf1d?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/68ac544a-886e-423b-b71b-b59d2466cf1d?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/68ac544a-886e-423b-b71b-b59d2466cf1d?feedback_type=hallucination) | [Report š](https://app.dosu.dev/response-feedback/68ac544a-886e-423b-b71b-b59d2466cf1d?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/68ac544a-886e-423b-b71b-b59d2466cf1d?feedback_type=other)</sup> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=githu b) [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/issues/35941) -- 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]
