I've recently started playing with a Home Assistant set up and came across Snips (https://snips.ai/). A bunch of Raspberry Pis with microphones running Snips is what I'm looking to try next. IMO, the offline/on-device processing is a key differentiator.
OP is right. You can get qualified on multiple aircraft types, but to maintain currency is a different topic altogether. In the US for example, at least for private pilots, you need at least 3 take offs and landings in the last 90 days in the aircraft (category/class/type-rating) to be able to carry passengers. Then there's extra requirements for night currency and instrument rating currency.
I would imagine the airlines have even tougher currency requirements. That said, it's probably possible to maintain currency in several aircraft types depending on the frequency and how the jobs are scheduled.
There are benefits for marking a row as deleted w/ a boolean column though. Undo-ing deletes would be easy to implement, and retaining references to deleted records would be simple as well.
The solution the problem you described would be to use a surrogate key column (typically a UUID/auto-increment), and not natural keys.
Usually those implementations redirect the user to a separate authentication system. OAuth2 only handles authorization and not authentication. Upon successful authentication, the user gets redirected back to the OAuth2 request which then generates the authorization code.
When the user is already logged in via a cookie set by the authentication system (i.e. an existing valid session), they don't get prompted for a password again; the authentication system will simply redirect to the OAuth2 request url. The typical OAuth2 implementations shouldn't be reading the authentication cookies directly.
The "password flow" in OAuth2 is really a special case for those who want to bypass the separate authentication system and use OAuth2 directly for both authentication and authorization.