WIP - `import_whitebox_model` improvements
# Description
In #392, we want to improve plugin models to support foreign keys to other plugins' models. Currently, the `import_whitebox_model` wrapper does not play well with migrations, and there are a lot of unknowns that need to be figured out:
- How should foreign keys even work
- Should they be DB enforced or not
- If DB enforced, what happens when a plugin is not loaded/removed
- If not DB enforced, should there be some kind of Whitebox-specific mechanism for handling missing relations
- How should eventual replacements work
- Specific implementation details are out of scope, but investigation of overall constraints around replacement, deprecation, migration are within scope
- How should all this be represented in migrations
# Scope
- WIP, possibly a POC - two phases
# MRs
- https://gitlab.com/whitebox-aero/whitebox/-/merge_requests/222
- https://gitlab.com/whitebox-aero/whitebox-plugin-device-insta360/-/merge_requests/31
- https://gitlab.com/whitebox-aero/whitebox-plugin-device-manager/-/merge_requests/25
- https://gitlab.com/whitebox-aero/whitebox-plugin-flight-annotations/-/merge_requests/4
- https://gitlab.com/whitebox-aero/whitebox-plugin-flight-management/-/merge_requests/19
- https://gitlab.com/whitebox-aero/whitebox-plugin-gps-simulator/-/merge_requests/16
- https://gitlab.com/whitebox-aero/whitebox-plugin-location/-/merge_requests/4
- https://gitlab.com/whitebox-aero/whitebox-plugin-map-icons/-/merge_requests/9
- https://gitlab.com/whitebox-aero/whitebox-plugin-map/-/merge_requests/32
- https://gitlab.com/whitebox-aero/whitebox-plugin-stratux/-/merge_requests/12
- https://gitlab.com/whitebox-aero/whitebox-plugin-telegraf/-/merge_requests/2
- https://gitlab.com/whitebox-aero/whitebox-plugin-transfer-manager/-/merge_requests/2
- https://gitlab.com/whitebox-aero/whitebox-plugin-traffic-display/-/merge_requests/11
- https://gitlab.com/whitebox-aero/whitebox-plugin-ui-components/-/merge_requests/5
- https://gitlab.com/whitebox-aero/whitebox-plugin-icons/-/merge_requests/8
- https://gitlab.com/whitebox-aero/whitebox-plugin-device-status/-/merge_requests/9
- https://gitlab.com/whitebox-aero/whitebox-plugin-videojs/-/merge_requests/6
- https://gitlab.com/whitebox-aero/whitebox-plugin-pannellum/-/merge_requests/7
- https://gitlab.com/whitebox-aero/whitebox-plugin-demo-mode/-/merge_requests/2
issue