Skip to content

Exploration Inconsistency when Corresponding Table is Deleted #2747

@Aritra8438

Description

@Aritra8438

Description

When we create an exploration, we need to choose a From table. If that table is deleted, the exploration based on that is not deleted automatically (in frontend) resulting in inconsistency (let's say them dangling explorations). if we then open the exploration, there shows an error Invalid pk "193" - object does not exist.

Adding a video file to better understand the situation (error view in 30th second):

mathesarr.mp4

Expected behavior

There are some observations:

  • Even after the table is deleted, we can edit the dangling exploration and assign it to a new table. But we can't save it after the reassignment (throws error Not Found)
  • There needs to be at least one existing table for that, otherwise we need to delete the exploration.
  • Once reloaded, all the dangling explorations are removed from the explorations tab (that means, they were already deleted from the database).

Based on those, we may have two solutions,

  1. Delete all those dangling explorations from the explorations tab once the corresponding tables are deleted.
  2. Allow assigning dangling explorations to another table and successfully save them.

In both cases, the minimum we need is not to show an error Invalid pk "193" - object does not exist. that might not be interpreted by a user but rather to show them the root cause and alternative solutions.

To Reproduce

  • create a table, say table_1
  • create an exploration from table_1, say exploration_1
  • delete table_1
  • now open exploration_1, it will show an error.
  • reload the page, those dangling explorations won't show up again.

Environment

  • OS: Ubuntu 22.04.1 LTS
  • Browser: Google Chrome
  • Browser Version: 111.0.5563.111 (Official Build) (64-bit)

Metadata

Metadata

Assignees

No one assigned

    Labels

    affects: uxRelated to user experienceneeds: implementation specsWe need clarity on HOW we'll implement it from a technical perspectiveneeds: ux designrestricted: maintainersOnly maintainers can resolve this issuetype: bugwork: backendRelated to Python, Django, and simple SQLwork: frontendRelated to frontend code in the mathesar_ui directory

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions