(tx transaction.Transaction, s *schema.Schema)
| 1512 | } |
| 1513 | |
| 1514 | func clearTable(tx transaction.Transaction, s *schema.Schema) error { |
| 1515 | if s.IsAbstract() { |
| 1516 | return nil |
| 1517 | } |
| 1518 | for _, schema := range schema.GetManager().Schemas() { |
| 1519 | if schema.ParentSchema == s { |
| 1520 | err := clearTable(tx, schema) |
| 1521 | if err != nil { |
| 1522 | return err |
| 1523 | } |
| 1524 | } else { |
| 1525 | for _, property := range schema.Properties { |
| 1526 | if property.Relation == s.Singular { |
| 1527 | err := clearTable(tx, schema) |
| 1528 | if err != nil { |
| 1529 | return err |
| 1530 | } |
| 1531 | } |
| 1532 | } |
| 1533 | } |
| 1534 | } |
| 1535 | resources, _, err := tx.List(s, nil, nil, nil) |
| 1536 | if err != nil { |
| 1537 | return err |
| 1538 | } |
| 1539 | for _, resource := range resources { |
| 1540 | err = tx.Delete(s, resource.ID()) |
| 1541 | if err != nil { |
| 1542 | return err |
| 1543 | } |
| 1544 | } |
| 1545 | return nil |
| 1546 | } |
no test coverage detected