mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 16:30:25 +08:00 
			
		
		
		
	refactor: 1.修改表后,刷新表数据;2.为了方便sqlmode,sql逻辑改为代码逻辑 3.修改索引sql拼接bug
This commit is contained in:
		@@ -305,6 +305,7 @@ export default defineComponent({
 | 
				
			|||||||
                db: props.db,
 | 
					                db: props.db,
 | 
				
			||||||
                runSuccessCallback: () => {
 | 
					                runSuccessCallback: () => {
 | 
				
			||||||
                    proxy.$parent.openEditTable({ tableName: state.tableData.tableName });
 | 
					                    proxy.$parent.openEditTable({ tableName: state.tableData.tableName });
 | 
				
			||||||
 | 
					                    proxy.$parent.refreshTableInfo();
 | 
				
			||||||
                    // cancel();
 | 
					                    // cancel();
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
@@ -472,7 +473,9 @@ export default defineComponent({
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                if(addIndexs.length > 0){
 | 
					                if(addIndexs.length > 0){
 | 
				
			||||||
 | 
					                  if(dropIndexNames.length > 0){
 | 
				
			||||||
                    sql +=','
 | 
					                    sql +=','
 | 
				
			||||||
 | 
					                  }
 | 
				
			||||||
                  addIndexs.forEach(a=>{
 | 
					                  addIndexs.forEach(a=>{
 | 
				
			||||||
                    sql += ` ADD ${a.unique?'UNIQUE':''} INDEX ${a.indexName}(${a.columnNames.join(',')}) USING ${a.indexType} COMMENT '${a.indexComment}',`;
 | 
					                    sql += ` ADD ${a.unique?'UNIQUE':''} INDEX ${a.indexName}(${a.columnNames.join(',')}) USING ${a.indexType} COMMENT '${a.indexComment}',`;
 | 
				
			||||||
                  })
 | 
					                  })
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -574,6 +574,10 @@ export default defineComponent({
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        const refreshTableInfo = async () => {
 | 
				
			||||||
 | 
					          state.tableInfoDialog.infos = await dbApi.tableInfos.request({ id: state.dbId, db: state.db });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const closeTableInfo = () => {
 | 
					        const closeTableInfo = () => {
 | 
				
			||||||
            state.showDumpInfo = false;
 | 
					            state.showDumpInfo = false;
 | 
				
			||||||
            state.tableInfoDialog.visible = false;
 | 
					            state.tableInfoDialog.visible = false;
 | 
				
			||||||
@@ -712,6 +716,7 @@ export default defineComponent({
 | 
				
			|||||||
            searchSqlExecLog,
 | 
					            searchSqlExecLog,
 | 
				
			||||||
            onShowRollbackSql,
 | 
					            onShowRollbackSql,
 | 
				
			||||||
            showTableInfo,
 | 
					            showTableInfo,
 | 
				
			||||||
 | 
					            refreshTableInfo,
 | 
				
			||||||
            closeTableInfo,
 | 
					            closeTableInfo,
 | 
				
			||||||
            showColumns,
 | 
					            showColumns,
 | 
				
			||||||
            showTableIndex,
 | 
					            showTableIndex,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,10 +17,10 @@ const (
 | 
				
			|||||||
    WHERE table_schema = (SELECT database())`
 | 
					    WHERE table_schema = (SELECT database())`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// mysql 索引信息
 | 
						// mysql 索引信息
 | 
				
			||||||
	MYSQL_INDEX_INFO = `SELECT index_name indexName, group_concat(column_name) columnName, index_type indexType, non_unique nonUnique, 
 | 
						MYSQL_INDEX_INFO = `SELECT INDEX_NAME indexName, COLUMN_NAME columnName, INDEX_TYPE indexType, NON_UNIQUE nonUnique,
 | 
				
			||||||
	SEQ_IN_INDEX seqInIndex, INDEX_COMMENT indexComment
 | 
						SEQ_IN_INDEX seqInIndex, INDEX_COMMENT indexComment
 | 
				
			||||||
	FROM information_schema.STATISTICS 
 | 
						FROM information_schema.STATISTICS 
 | 
				
			||||||
    WHERE table_schema = (SELECT database()) AND table_name = '%s' GROUP by index_name`
 | 
					    WHERE table_schema = (SELECT database()) AND table_name = '%s' ORDER BY index_name asc , SEQ_IN_INDEX asc`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// mysql 列信息元数据
 | 
						// mysql 列信息元数据
 | 
				
			||||||
	MYSQL_COLUMN_MA = `SELECT table_name tableName, column_name columnName, column_type columnType, column_default columnDefault,
 | 
						MYSQL_COLUMN_MA = `SELECT table_name tableName, column_name columnName, column_type columnType, column_default columnDefault,
 | 
				
			||||||
@@ -73,7 +73,27 @@ func (mm *MysqlMetadata) GetTableInfos() []map[string]interface{} {
 | 
				
			|||||||
func (mm *MysqlMetadata) GetTableIndex(tableName string) []map[string]interface{} {
 | 
					func (mm *MysqlMetadata) GetTableIndex(tableName string) []map[string]interface{} {
 | 
				
			||||||
	res, err := mm.di.innerSelect(fmt.Sprintf(MYSQL_INDEX_INFO, tableName))
 | 
						res, err := mm.di.innerSelect(fmt.Sprintf(MYSQL_INDEX_INFO, tableName))
 | 
				
			||||||
	biz.ErrIsNilAppendErr(err, "获取表索引信息失败: %s")
 | 
						biz.ErrIsNilAppendErr(err, "获取表索引信息失败: %s")
 | 
				
			||||||
	return res
 | 
					
 | 
				
			||||||
 | 
						// 把查询结果以索引名分组,索引字段以逗号连接
 | 
				
			||||||
 | 
						result := make([]map[string]interface{}, 0)
 | 
				
			||||||
 | 
						key := ""
 | 
				
			||||||
 | 
						i := 0
 | 
				
			||||||
 | 
						for k, v := range res {
 | 
				
			||||||
 | 
							// 当前的索引名
 | 
				
			||||||
 | 
							in := fmt.Sprintf("%v", v["indexName"])
 | 
				
			||||||
 | 
							cl := fmt.Sprintf("%v", v["columnName"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if key == in {
 | 
				
			||||||
 | 
								// 同索引字段以逗号连接
 | 
				
			||||||
 | 
								cl1 := fmt.Sprintf("%v", result[i]["columnName"])
 | 
				
			||||||
 | 
								result[i]["columnName"] = cl1 + "," + cl
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								i = k
 | 
				
			||||||
 | 
								key = in
 | 
				
			||||||
 | 
								result = append(result, v)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return result
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 获取建表ddl
 | 
					// 获取建表ddl
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user