#5591 - Allow fixing database issues from UI
| Identifier | #5591 |
|---|---|
| Issue type | Feature request or suggestion |
| Title | Allow fixing database issues from UI |
| Status | Closed (rejected) |
| Tags |
Roadmap: v11 (custom) |
| Handling member | Deleted |
| Addon | core_upgrader |
| Description | On the screen for correcting MySQL schema issues, present each detected issue in a table of tick boxes. Add a new button that says "Fix Selected" or something like that. Allow ticking off queries to run when the new fix button is clicked.
The name of each tick box should be the MD5 of the query so we can easily figure out which POST params belong to which queries when the tool re-runs. If one or more fixes were applied, then the tool should re-run itself again (in check mode only... clear out all SQL POST params) in case all issues from some step have been fixed and we can now check a different step for issues. It would be better to re-run the tool completely instead of reversing our tracking variables dynamically because an applied "fix" might not have actually fixed the underlying issue, and we want to be sure we check for that again. Remember the upgrader is minimalist so do not use any CNS APIs for the interface. |
| Steps to reproduce | |
| Funded? | No |
The system will post a comment when this issue is modified (e.g., status changes). To be notified of this, click "Enable comment notifications".


Comments
If it is made more accessible to non-experts doesn't this mean that we risk people critically breaking their database through some bug in our logic, beyond their ability to resolve it - all just so the schema can be 100% perfect (the user probably would never have known it wasn't TBH).
There's also the consideration that some of these fixup queries could take minutes to run on large sites, and time out, causing serious confusion, and potentially bringing down a site if the user keeps hitting refresh.
What is the driver for running commands direct from the UI?
I'm not sure what your question is asking. Commandr is coming to mind but that's probably not what you meant.
However, perhaps that is ideal as it necessitates more time to think about what you're doing. However, if we keep the current behaviour, I would recommend changing the action text "Correct MySQL Schema Issues" as it doesn't actually correct them. Perhaps, "Check for MySQL Schema Issues".