func (m *MysqlProxy) DeleteTable(table *schema.MysqlTable) { curTables := []*schema.MysqlTable{} curTableIds := []string{} for _, one := range m.Tables { if one.Name != table.Name { curTables = append(curTables, one) } } for _, one := range m.TableIds { if one != table.Id { curTableIds = append(curTableIds, one) } } // delete the relations. m.TableIds = curTableIds m.Tables = curTables err := redis.UpdateDB("main", redis.EncodeData(m), "MysqlProxy") if err != nil { fmt.Printf("Delete table error when write redis: %s\n", err) return } schema.Tables = curTables // delete selfs. table.Destroy() }