Example #1
0
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()
}