Mark tables as exempt from sharding
What does this MR do and why?
Mark the following tables as exempt from sharding.
- ci_job_artifact_states
- ci_secure_file_states
- dependency_proxy_blob_states
- dependency_proxy_manifest_states
- group_wiki_repositories
- group_wiki_repository_states
- lfs_objects
- lfs_object_states
- merge_request_diff_details
- pages_deployment_states
- pool_repositories
- project_repositories
- project_states
- snippet_repositories
- snippet_repository_states
- upload_states
For these tables, this MR does the following:
- In db/docs/, change the schema togitlab_main_cell_localorgitlab_ci_cell_localfor these tables.
- In db/docs/, removeexempt_from_sharding: truesince it is implied by the schema.
- In db/docs/, removesharding_key:ordesired_sharding_key:attributes from these tables.
- In db/docs/, addsharding_key_issue_urlfor these tables which don't have a non-nullableorganization_id,namespace_id, orproject_idwith loose foreign key constraint.- Exception: Do not attempt to add these columns to lfs_object_states. LFS storage must be rearchitected, or specially handled by Cells and Org Mover, or both.
 
- Exception: Do not attempt to add these columns to 
References
Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.
- Relates to #515383 (closed)
- Relates to #520191
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited  by Douglas Barbosa Alexandre