Idea #18967
Updated by Peter Amstutz about 2 years ago
h2. Unused or redundant columns
* 'id' - most tables have a default 'id' column added by rails, despite the fact that 'uuid' is the real primary key
* 'updated_at' - this seems to be redundant with 'modified_at'
h2. Unused or redundant tables
* humans
* specimens
* traits
Legacy tables introduced to support PGP use case but never used. Recommended to use 'properties' for metadata and
'links' for standalone records
* keep_disks
* keep_services
Now stored 100% in the config file. Need to keep the "keep_services/accessible" endpoint but can drop the underlying tables and answer queries using only config file content.
* nodes
* jobs
* job_tasks
* pipeline_templates
* pipeline_instances
Support for the legacy "jobs" API and legacy cloud node manager, both of which are obsolete and disabled in new installations.
* api_clients
This still has an effect -- tokens are associated with clients, clients can be "trusted" or "untrusted", which controls whether they can manipulate other tokens. However this is confusing and has been a consistent stumbling point on Arvados installation & configuration.
This seems to have been originally implemented to for the login process of the legacy SSO server, where the "api_client" table represented a OAuth2 client id used by the SSO server (???). Without the SSO server it isn't clear it serves any purpose (the "trusted/untrusted" feature could be made a per-token flag, or eliminated).