Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Allow user to optimize tables #26109

Merged
merged 6 commits into from Apr 23, 2024

Conversation

niraj2477
Copy link
Contributor

closes : #25967

What's changed:

  • Add option to optimize db tables from Database Storage Usage By Tables report

screenshots

Screen.Recording.2024-04-23.at.11.06.12.AM.mov

@niraj2477 niraj2477 requested a review from a team as a code owner April 23, 2024 05:37
@niraj2477 niraj2477 requested review from akhilnarang and removed request for a team April 23, 2024 05:37
@github-actions github-actions bot added the add-test-cases Add test case to validate fix or enhancement label Apr 23, 2024
@niraj2477
Copy link
Contributor Author

Since this is a background job, we could allow selecting multiple doc types? 🤔

@niraj2477
Copy link
Contributor Author

Since this is a background job, we could allow selecting multiple doc types? 🤔

Can it be single job for it or separate job for each. I think multiple job is overkill, but user might select way many doc type too.

@akhilnarang
Copy link
Member

Since this is a background job, we could allow selecting multiple doc types? 🤔

Can it be single job for it or separate job for each. I think multiple job is overkill, but user might select way many doc type too.

Single probably is fine, this isn't something people will ideally run too often
If people are consistently running it on all tables in large databases then maybe we can split into multiple jobs

@niraj2477
Copy link
Contributor Author

In dialog, we can have table fieldtype and assign which fields to show, but for Table MultiSelect it will fetch Link field from provided doc type in option, could not find a way to add DocType in Table MultiSelect.

ref: https://github.com/frappe/frappe/blob/develop/frappe/public/js/frappe/form/controls/table_multiselect.js#L151

@ankush
Copy link
Member

ankush commented Apr 23, 2024

No need to complicate this really. Doesn't need superb UX also, something that will run once in a blue moon and that too mostly by a dev.

@ankush ankush enabled auto-merge (squash) April 23, 2024 11:32
@ankush ankush added backport version-15-hotfix Backport the PR to v15 and removed add-test-cases Add test case to validate fix or enhancement labels Apr 23, 2024
@ankush ankush merged commit 3f0c233 into frappe:develop Apr 23, 2024
22 of 24 checks passed
mergify bot pushed a commit that referenced this pull request Apr 23, 2024
* feat: Allow user to optimize tables

* fix: Update butto label

* fix: Filter out single & virtual doctypes

* fix: Create long job for optimization

* fix: check perm

---------

Co-authored-by: Ankush Menat <ankush@frappe.io>
(cherry picked from commit 3f0c233)
ankush pushed a commit that referenced this pull request Apr 23, 2024
* feat: Allow user to optimize tables

* fix: Update butto label

* fix: Filter out single & virtual doctypes

* fix: Create long job for optimization

* fix: check perm

---------

Co-authored-by: Ankush Menat <ankush@frappe.io>
(cherry picked from commit 3f0c233)

Co-authored-by: Niraj Gautam <nirajgautam196@gmail.com>
frappe-pr-bot pushed a commit that referenced this pull request Apr 30, 2024
# [15.25.0](v15.24.1...v15.25.0) (2024-04-30)

### Bug Fixes

* add missing impl for is_column_missing ([#26225](#26225)) ([#26227](#26227)) ([9490869](9490869))
* **ar:** render fullcalendar in english ([#26207](#26207)) ([#26210](#26210)) ([2f171cd](2f171cd))
* avoid perm error on dashboard chart ([#26150](#26150)) ([#26153](#26153)) ([0909589](0909589))
* **backup:** delete failed backup even if something fails during the backup process ([7c8c41c](7c8c41c))
* calendar in Arabic (backport [#26213](#26213)) ([#26216](#26216)) ([df6291b](df6291b)), closes [#26207](#26207)
* clean up print ([#26170](#26170)) ([#26176](#26176)) ([a41e496](a41e496))
* Dirty form when grid rows are moved ([#26230](#26230)) ([#26234](#26234)) ([c60f25d](c60f25d))
* frappe.template.compile(...) is not a function ([#26125](#26125)) ([#26127](#26127)) ([69e503c](69e503c))
* handle case where mimetype is None ([#26131](#26131)) ([#26133](#26133)) ([0c518a2](0c518a2))
* handle null in CSV preview ([551503a](551503a))
* hide tab button on child table ([#26148](#26148)) ([#26149](#26149)) ([fd42cbf](fd42cbf))
* multistep webform page navigation ([9415f4f](9415f4f))
* perm query for dashboard ([#26239](#26239)) ([#26243](#26243)) ([9ffb8af](9ffb8af))
* Renaming when doctype is used as a virtual link docfield fails ([#26025](#26025)) ([#26119](#26119)) ([724f944](724f944))
* **report builder:** responsive footer ([#26222](#26222)) ([#26224](#26224)) ([f19bff7](f19bff7))
* **report_utils:** ensure that delimiter and separator can't be empty ([#26202](#26202)) ([a1f008c](a1f008c))
* restoring site breaks when checking backup version ([#26186](#26186)) ([f2f167d](f2f167d))
* retry count per doc instead of global ([#26159](#26159)) ([#26161](#26161)) ([256578a](256578a))
* use document language for workflow action ([#26138](#26138)) ([#26139](#26139)) ([876d230](876d230))
* **UX:** warning when printing unsaved documents ([#26229](#26229)) ([#26232](#26232)) ([8826690](8826690))
* web form filtering ([#26122](#26122)) ([0c38f94](0c38f94))

### Features

* Allow usage of `print()` within `safe_exec()` ([#23084](#23084)) ([3ce15f3](3ce15f3))
* Allow user to optimize tables ([#26109](#26109)) ([#26121](#26121)) ([ca7148e](ca7148e))
* Document.remove_tag ([#22970](#22970)) ([#26178](#26178)) ([17ca7f4](17ca7f4))
* limit oauth client to roles (backport [#26193](#26193)) ([#26196](#26196)) ([c8387f8](c8387f8))

### Performance Improvements

* use base32 space for random names instead of base16 (backport [#25497](#25497)) ([#25546](#25546)) ([0723853](0723853))
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 8, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport version-15-hotfix Backport the PR to v15
Projects
None yet
Development

Successfully merging this pull request may close these issues.

User facing option to optimize database tables
3 participants