mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 02:37:24 +08:00
fix: export files complain duplicate field name error
This commit is contained in:
@@ -38,7 +38,11 @@ func init() {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
printList(result, modules.DBInstanceBackups.GetColumns(s))
|
||||
if len(opts.ExportFile) > 0 {
|
||||
exportList(result, opts.ExportFile, opts.ExportKeys, opts.ExportTexts, modules.DBInstanceBackups.GetColumns(s))
|
||||
} else {
|
||||
printList(result, modules.DBInstanceBackups.GetColumns(s))
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
|
||||
@@ -41,7 +41,12 @@ func init() {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
printList(result, modules.DBInstance.GetColumns(s))
|
||||
|
||||
if len(opts.ExportFile) > 0 {
|
||||
exportList(result, opts.ExportFile, opts.ExportKeys, opts.ExportTexts, modules.DBInstance.GetColumns(s))
|
||||
} else {
|
||||
printList(result, modules.DBInstance.GetColumns(s))
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
|
||||
@@ -55,7 +55,11 @@ func init() {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
printList(result, modules.Networks.GetColumns(s))
|
||||
if len(opts.ExportFile) > 0 {
|
||||
exportList(result, opts.ExportFile, opts.ExportKeys, opts.ExportTexts, modules.Networks.GetColumns(s))
|
||||
} else {
|
||||
printList(result, modules.Networks.GetColumns(s))
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
|
||||
@@ -47,7 +47,11 @@ func init() {
|
||||
return err
|
||||
}
|
||||
|
||||
printList(result, modules.Vpcs.GetColumns(s))
|
||||
if len(opts.ExportFile) > 0 {
|
||||
exportList(result, opts.ExportFile, opts.ExportKeys, opts.ExportTexts, modules.Vpcs.GetColumns(s))
|
||||
} else {
|
||||
printList(result, modules.Vpcs.GetColumns(s))
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
|
||||
@@ -571,7 +571,7 @@ func (manager *SDBInstanceBackupManager) ListItemExportKeys(ctx context.Context,
|
||||
}
|
||||
}
|
||||
if keys.ContainsAny("dbinstance") {
|
||||
q, err = manager.SDBInstanceResourceBaseManager.ListItemExportKeys(ctx, q, userCred, keys)
|
||||
q, err = manager.SDBInstanceResourceBaseManager.ListItemExportKeys(ctx, q, userCred, stringutils2.NewSortedStrings([]string{"dbinstance"}))
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "SDBInstanceResourceBaseManager.ListItemExportKeys")
|
||||
}
|
||||
|
||||
@@ -1674,8 +1674,8 @@ func (manager *SDBInstanceManager) ListItemExportKeys(ctx context.Context,
|
||||
}
|
||||
}
|
||||
|
||||
if keys.ContainsAny(manager.SVpcResourceBaseManager.GetExportKeys()...) {
|
||||
q, err = manager.SVpcResourceBaseManager.ListItemExportKeys(ctx, q, userCred, keys)
|
||||
if keys.Contains("vpc") {
|
||||
q, err = manager.SVpcResourceBaseManager.ListItemExportKeys(ctx, q, userCred, stringutils2.NewSortedStrings([]string{"vpc"}))
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "SVpcResourceBaseManager.ListItemExportKeys")
|
||||
}
|
||||
|
||||
@@ -1142,5 +1142,23 @@ func (manager *SVpcManager) ListItemExportKeys(ctx context.Context,
|
||||
}
|
||||
}
|
||||
|
||||
if keys.Contains("wire_count") {
|
||||
wires := WireManager.Query("vpc_id").SubQuery()
|
||||
subq := wires.Query(sqlchemy.COUNT("wire_count"), wires.Field("vpc_id")).GroupBy(wires.Field("vpc_id")).SubQuery()
|
||||
q = q.Join(subq, sqlchemy.Equals(q.Field("id"), subq.Field("vpc_id")))
|
||||
q = q.AppendField(subq.Field("wire_count"))
|
||||
}
|
||||
|
||||
if keys.Contains("network_count") {
|
||||
wires := WireManager.Query("id", "vpc_id").SubQuery()
|
||||
networks := NetworkManager.Query("wire_id").SubQuery()
|
||||
subq := networks.Query(sqlchemy.COUNT("network_count"), wires.Field("vpc_id"))
|
||||
subq = subq.Join(wires, sqlchemy.Equals(networks.Field("wire_id"), wires.Field("id")))
|
||||
subq = subq.GroupBy(wires.Field("vpc_id"))
|
||||
subqQ := subq.SubQuery()
|
||||
q = q.Join(subqQ, sqlchemy.Equals(q.Field("id"), subqQ.Field("vpc_id")))
|
||||
q = q.AppendField(subqQ.Field("network_count"))
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
@@ -284,7 +284,7 @@ func (manager *SWireResourceBaseManager) ListItemExportKeys(ctx context.Context,
|
||||
q = q.AppendField(subq.Field("name", "wire"))
|
||||
}
|
||||
if keys.Contains("zone") {
|
||||
q, err = manager.SZoneResourceBaseManager.ListItemExportKeys(ctx, q, userCred, keys)
|
||||
q, err = manager.SZoneResourceBaseManager.ListItemExportKeys(ctx, q, userCred, stringutils2.NewSortedStrings([]string{"zone"}))
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "SZoneResourceBaseManager.ListItemExportKeys")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user