diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-07-03 03:58:45 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-07-03 03:58:45 +0900 |
| commit | f17e229c1e390eb98f167c918dde87dbbfcaacf2 (patch) | |
| tree | 34f39d6d2c8c3b9e91613897346424b312c393ad /src/client/app/admin/views | |
| parent | MFMで連続したスペースがひとつに纏まるのを修正 (diff) | |
| download | sharkey-f17e229c1e390eb98f167c918dde87dbbfcaacf2.tar.gz sharkey-f17e229c1e390eb98f167c918dde87dbbfcaacf2.tar.bz2 sharkey-f17e229c1e390eb98f167c918dde87dbbfcaacf2.zip | |
Resolve #5072
Diffstat (limited to 'src/client/app/admin/views')
| -rw-r--r-- | src/client/app/admin/views/db.vue | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/client/app/admin/views/db.vue b/src/client/app/admin/views/db.vue index 7818546e76..9f87a749b6 100644 --- a/src/client/app/admin/views/db.vue +++ b/src/client/app/admin/views/db.vue @@ -5,6 +5,14 @@ <section v-if="tables"> <div v-for="table in Object.keys(tables)"><b>{{ table }}</b> {{ tables[table].count | number }} {{ tables[table].size | bytes }}</div> </section> + <section> + <header><fa :icon="faBroom"/> {{ $t('vacuum') }}</header> + <ui-info>{{ $t('vacuum-info') }}</ui-info> + <ui-switch v-model="fullVacuum">FULL</ui-switch> + <ui-switch v-model="analyzeVacuum">ANALYZE</ui-switch> + <ui-button @click="vacuum()"><fa :icon="faBroom"/> {{ $t('vacuum') }}</ui-button> + <ui-info warn>{{ $t('vacuum-exclamation') }}</ui-info> + </section> </ui-card> </div> </template> @@ -12,7 +20,7 @@ <script lang="ts"> import Vue from 'vue'; import i18n from '../../i18n'; -import { faDatabase } from '@fortawesome/free-solid-svg-icons'; +import { faDatabase, faBroom } from '@fortawesome/free-solid-svg-icons'; export default Vue.extend({ i18n: i18n('admin/views/db.vue'), @@ -20,7 +28,9 @@ export default Vue.extend({ data() { return { tables: null, - faDatabase + fullVacuum: true, + analyzeVacuum: true, + faDatabase, faBroom }; }, @@ -34,6 +44,18 @@ export default Vue.extend({ this.tables = tables; }); }, + + vacuum() { + this.$root.api('admin/vacuum', { + full: this.fullVacuum, + analyze: this.analyzeVacuum, + }).then(() => { + this.$root.dialog({ + type: 'success', + splash: true + }); + }); + }, } }); </script> |