| 100 | } |
| 101 | |
| 102 | func (c *V1GenerateSettings) ValidateGlobalOverrides() error { |
| 103 | engines := map[Engine]struct{}{} |
| 104 | for _, pkg := range c.Packages { |
| 105 | if _, ok := engines[pkg.Engine]; !ok { |
| 106 | engines[pkg.Engine] = struct{}{} |
| 107 | } |
| 108 | } |
| 109 | |
| 110 | usesMultipleEngines := len(engines) > 1 |
| 111 | for _, oride := range c.Overrides { |
| 112 | if usesMultipleEngines && oride.Engine == "" { |
| 113 | return fmt.Errorf(`the "engine" field is required for global type overrides because your configuration uses multiple database engines`) |
| 114 | } |
| 115 | } |
| 116 | return nil |
| 117 | } |
| 118 | |
| 119 | func (c *V1GenerateSettings) Translate() Config { |
| 120 | conf := Config{ |