// Generate generates the basic CRUD statements for the models func (g *Generator) Generate(context *common.Context, s *schema.Schema) ([]common.Output, error) { outputs := make([]common.Output, 0) moduleName := context.FieldNameFunc(s.Title) settings := geneddl.GenerateSettings(geneddl.GeneratorName, moduleName, s) for _, def := range common.SortedObjectSchemas(s.Definitions) { settingsDef := geneddl.SetDefaultSettings(geneddl.GeneratorName, settings, def) settingsDef.Set("tableName", context.FieldNameFunc(def.Title)) f, err := GenerateModelStatements(context, settingsDef, def) if err != nil { return outputs, err } outputs = append(outputs, common.Output{ Content: f, Path: fmt.Sprintf( "%s%s_statements.go", context.Config.Target, strings.ToLower(def.Title), ), }) } return outputs, nil }