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>&nbsp;&nbsp;[![Chat
 with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=githu
 b)&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//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]

Reply via email to