mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 13:10:26 +08:00 
			
		
		
		
	数据库手动清理页面增加按表名和按占用空间排序/优化数据库相关界面
This commit is contained in:
		@@ -6,6 +6,7 @@ import (
 | 
				
			|||||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
						"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
				
			||||||
	"github.com/iwind/TeaGo/actions"
 | 
						"github.com/iwind/TeaGo/actions"
 | 
				
			||||||
	"github.com/iwind/TeaGo/maps"
 | 
						"github.com/iwind/TeaGo/maps"
 | 
				
			||||||
 | 
						"sort"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type CleanAction struct {
 | 
					type CleanAction struct {
 | 
				
			||||||
@@ -16,11 +17,20 @@ func (this *CleanAction) Init() {
 | 
				
			|||||||
	this.Nav("", "", "clean")
 | 
						this.Nav("", "", "clean")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (this *CleanAction) RunGet(params struct{}) {
 | 
					func (this *CleanAction) RunGet(params struct {
 | 
				
			||||||
 | 
						OrderTable string
 | 
				
			||||||
 | 
						OrderSize  string
 | 
				
			||||||
 | 
					}) {
 | 
				
			||||||
 | 
						this.Data["orderTable"] = params.OrderTable
 | 
				
			||||||
 | 
						this.Data["orderSize"] = params.OrderSize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	this.Show()
 | 
						this.Show()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (this *CleanAction) RunPost(params struct {
 | 
					func (this *CleanAction) RunPost(params struct {
 | 
				
			||||||
 | 
						OrderTable string
 | 
				
			||||||
 | 
						OrderSize  string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Must *actions.Must
 | 
						Must *actions.Must
 | 
				
			||||||
}) {
 | 
					}) {
 | 
				
			||||||
	tablesResp, err := this.RPC().DBRPC().FindAllDBTables(this.AdminContext(), &pb.FindAllDBTablesRequest{})
 | 
						tablesResp, err := this.RPC().DBRPC().FindAllDBTables(this.AdminContext(), &pb.FindAllDBTablesRequest{})
 | 
				
			||||||
@@ -28,9 +38,33 @@ func (this *CleanAction) RunPost(params struct {
 | 
				
			|||||||
		this.ErrorPage(err)
 | 
							this.ErrorPage(err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						var tables = tablesResp.DbTables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tableMaps := []maps.Map{}
 | 
						// 排序
 | 
				
			||||||
	for _, table := range tablesResp.DbTables {
 | 
						switch params.OrderTable {
 | 
				
			||||||
 | 
						case "asc":
 | 
				
			||||||
 | 
							sort.Slice(tables, func(i, j int) bool {
 | 
				
			||||||
 | 
								return tables[i].Name < tables[j].Name
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
						case "desc":
 | 
				
			||||||
 | 
							sort.Slice(tables, func(i, j int) bool {
 | 
				
			||||||
 | 
								return tables[i].Name > tables[j].Name
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						switch params.OrderSize {
 | 
				
			||||||
 | 
						case "asc":
 | 
				
			||||||
 | 
							sort.Slice(tables, func(i, j int) bool {
 | 
				
			||||||
 | 
								return tables[i].DataLength+tables[i].IndexLength < tables[j].DataLength+tables[j].IndexLength
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
						case "desc":
 | 
				
			||||||
 | 
							sort.Slice(tables, func(i, j int) bool {
 | 
				
			||||||
 | 
								return tables[i].DataLength+tables[i].IndexLength > tables[j].DataLength+tables[j].IndexLength
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var tableMaps = []maps.Map{}
 | 
				
			||||||
 | 
						for _, table := range tables {
 | 
				
			||||||
		if !table.IsBaseTable || (!table.CanClean && !table.CanDelete) {
 | 
							if !table.IsBaseTable || (!table.CanClean && !table.CanDelete) {
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,10 @@
 | 
				
			|||||||
<first-menu>
 | 
					<first-menu>
 | 
				
			||||||
	<menu-item href="/settings/database" code="index">详情</menu-item>
 | 
						<menu-item href="/settings/database" code="index">配置模板</menu-item>
 | 
				
			||||||
	<menu-item href="/settings/database/update" code="update">修改</menu-item>
 | 
						<menu-item href="/settings/database/update" code="update">修改模板</menu-item>
 | 
				
			||||||
 | 
					    <span class="item disabled">|</span>
 | 
				
			||||||
    <menu-item href="/settings/database/clean" code="clean">手动清理</menu-item>
 | 
					    <menu-item href="/settings/database/clean" code="clean">手动清理</menu-item>
 | 
				
			||||||
    <menu-item href="/settings/database/cleanSetting" code="cleanSetting">自动清理设置</menu-item>
 | 
					    <menu-item href="/settings/database/cleanSetting" code="cleanSetting">自动清理设置</menu-item>
 | 
				
			||||||
    <span class="item">|</span>
 | 
					    <span class="item disabled">|</span>
 | 
				
			||||||
    <span class="item"><tip-icon content="在这里可以设置API节点可以使用的数据库,修改后请重新配置并启动API节点才能生效。"></tip-icon></span>
 | 
					    <span class="item"><tip-icon content="在这里可以设置API节点可以使用的数据库,修改后请重新配置并启动API节点才能生效。"></tip-icon></span>
 | 
				
			||||||
</first-menu>
 | 
					</first-menu>
 | 
				
			||||||
<div class="margin"></div>
 | 
					<div class="margin"></div>
 | 
				
			||||||
@@ -3,11 +3,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<div class="ui message" v-if="isLoading">正在加载中...</div>
 | 
					<div class="ui message" v-if="isLoading">正在加载中...</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<table class="ui table selectable">
 | 
					<div class="ui message small warning" v-if="tables.length > 0">
 | 
				
			||||||
 | 
					    <p>请确认数据表用途后再执行相关操作。</p>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<table class="ui table selectable" v-if="tables.length > 0">
 | 
				
			||||||
    <thead>
 | 
					    <thead>
 | 
				
			||||||
        <tr>
 | 
					        <tr>
 | 
				
			||||||
            <th>表名</th>
 | 
					            <th>数据表名<sort-arrow name="orderTable"></sort-arrow></th>
 | 
				
			||||||
            <th>占用空间</th>
 | 
					            <th>占用空间<sort-arrow name="orderSize"></sort-arrow></th>
 | 
				
			||||||
            <th>用途</th>
 | 
					            <th>用途</th>
 | 
				
			||||||
            <th class="two op">操作</th>
 | 
					            <th class="two op">操作</th>
 | 
				
			||||||
        </tr>
 | 
					        </tr>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,6 +9,10 @@ Tea.context(function () {
 | 
				
			|||||||
    this.reload = function () {
 | 
					    this.reload = function () {
 | 
				
			||||||
        this.isLoading = true
 | 
					        this.isLoading = true
 | 
				
			||||||
        this.$post("$")
 | 
					        this.$post("$")
 | 
				
			||||||
 | 
								.params({
 | 
				
			||||||
 | 
									orderTable: this.orderTable,
 | 
				
			||||||
 | 
									orderSize: this.orderSize
 | 
				
			||||||
 | 
								})
 | 
				
			||||||
            .success(function (resp) {
 | 
					            .success(function (resp) {
 | 
				
			||||||
                this.tables = resp.data.tables;
 | 
					                this.tables = resp.data.tables;
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,10 @@
 | 
				
			|||||||
{$layout}
 | 
					{$layout}
 | 
				
			||||||
{$template "menu"}
 | 
					{$template "menu"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="ui message small warning">
 | 
				
			||||||
 | 
					    <p>这里只能修改配置模板文件里的配置信息,并不能直接修改数据库的用户名、密码等信息。</p>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
 | 
					<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
 | 
				
			||||||
	<table class="ui table selectable definition">
 | 
						<table class="ui table selectable definition">
 | 
				
			||||||
		<tr>
 | 
							<tr>
 | 
				
			||||||
@@ -37,8 +41,4 @@
 | 
				
			|||||||
		</tr>
 | 
							</tr>
 | 
				
			||||||
	</table>
 | 
						</table>
 | 
				
			||||||
	<submit-btn></submit-btn>
 | 
						<submit-btn></submit-btn>
 | 
				
			||||||
</form>
 | 
					</form>
 | 
				
			||||||
 | 
					 | 
				
			||||||
<div class="ui message small warning">
 | 
					 | 
				
			||||||
	<p>修改数据库配置后需要重新配置API节点。</p>
 | 
					 | 
				
			||||||
</div>
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user