configInfo: {
    SQLOutput: {
        appendToFile: boolean;
        convertCoreSchemaToFlywayMigrationFile: boolean;
        enabled: boolean;
        fileName?: string;
        folderPath: string;
        omitRecurringScriptsFromLog: boolean;
    };
    advancedGeneration?: null | {
        enableAdvancedGeneration: boolean;
        features: {
            description?: null | string;
            enabled: boolean;
            name: string;
            options?: null | {
                name: string;
                value?: unknown;
            }[];
            systemPrompt?: null | string;
            userMessage?: null | string;
        }[];
    };
    codeGenLogin: string;
    codeGenPassword: string;
    commands: {
        args: string[];
        command: string;
        timeout?: null | number;
        when: string;
        workingDirectory: string;
    }[];
    customSQLScripts: {
        scriptFile: string;
        when: string;
    }[];
    dbDatabase: string;
    dbHost: string;
    dbInstanceName?: null | string;
    dbPort: number;
    dbSchemaJSONOutput: {
        bundles: {
            excludeEntities: string[];
            excludeSchemas: string[];
            name: string;
            schemas: string[];
        }[];
        excludeEntities: string[];
        excludeSchemas: string[];
    };
    dbTrustServerCertificate: "Y" | "N";
    excludeSchemas: string[];
    excludeTables: {
        schema: string;
        table: string;
    }[];
    forceRegeneration: {
        allStoredProcedures: boolean;
        baseViews: boolean;
        enabled: boolean;
        entityWhereClause?: string;
        fullTextSearch: boolean;
        indexes: boolean;
        spCreate: boolean;
        spDelete: boolean;
        spUpdate: boolean;
    };
    graphqlPort: number;
    integrityChecks: {
        enabled: boolean;
        entityFieldsSequenceCheck: boolean;
    };
    logging: {
        console: boolean;
        log: boolean;
        logFile: string;
    };
    mjCoreSchema: string;
    newEntityDefaults: {
        AddToApplicationWithSchemaName: boolean;
        AllowAllRowsAPI: boolean;
        AllowCreateAPI: boolean;
        AllowDeleteAPI: boolean;
        AllowUpdateAPI: boolean;
        AllowUserSearchAPI: boolean;
        AuditRecordAccess: boolean;
        AuditViewRuns: boolean;
        CascadeDeletes: boolean;
        IncludeFirstNFieldsAsDefaultInView: number;
        NameRulesBySchema: {
            EntityNamePrefix: string;
            EntityNameSuffix: string;
            SchemaName: string;
        }[];
        PermissionDefaults: {
            AutoAddPermissionsForNewEntities: boolean;
            Permissions: {
                CanCreate: boolean;
                CanDelete: boolean;
                CanRead: boolean;
                CanUpdate: boolean;
                RoleName: string;
            }[];
        };
        TrackRecordChanges: boolean;
        UserViewMaxRows: number;
    };
    newEntityRelationshipDefaults: {
        AutomaticallyCreateRelationships: boolean;
        CreateOneToManyRelationships: boolean;
    };
    newSchemaDefaults: {
        CreateNewApplicationWithSchemaName: boolean;
    };
    newUserSetup?: null | {
        CreateUserApplicationRecords: boolean;
        Email: string;
        FirstName: string;
        LastName: string;
        Roles: string[];
        UserApplications: string[];
        UserName: string;
    };
    output: {
        appendOutputCode?: boolean;
        directory: string;
        options?: {
            name: string;
            value?: any;
        }[];
        type: string;
    }[];
    outputCode?: null | string;
    settings: {
        name: string;
        value?: any;
    }[];
    verboseOutput: boolean;
} = ...

Parsed configuration object with fallback to empty object if parsing fails

Type declaration

  • SQLOutput: {
        appendToFile: boolean;
        convertCoreSchemaToFlywayMigrationFile: boolean;
        enabled: boolean;
        fileName?: string;
        folderPath: string;
        omitRecurringScriptsFromLog: boolean;
    }
    • appendToFile: boolean

      If set to true, then we append to the existing file, if one exists, otherwise we create a new file.

    • convertCoreSchemaToFlywayMigrationFile: boolean

      If true, all mention of the core schema within the log file will be replaced with the flyway schema, ${flyway:defaultSchema}

    • enabled: boolean

      Whether or not sql statements generated while managing metadata should be written to a file

    • Optional fileName?: string

      Optional, the file name that will be written WITHIN the folderPath specified.

    • folderPath: string

      The path of the folder to use when logging is enabled. If provided, a file will be created with the format "CodeGen_Run_yyyy-mm-dd_hh-mm-ss.sql"

    • omitRecurringScriptsFromLog: boolean

      If true, scripts that are being emitted via SQL logging that are marked by CodeGen as recurring will be SKIPPED. Defaults to false

  • Optional advancedGeneration?: null | {
        enableAdvancedGeneration: boolean;
        features: {
            description?: null | string;
            enabled: boolean;
            name: string;
            options?: null | {
                name: string;
                value?: unknown;
            }[];
            systemPrompt?: null | string;
            userMessage?: null | string;
        }[];
    }
  • codeGenLogin: string
  • codeGenPassword: string
  • commands: {
        args: string[];
        command: string;
        timeout?: null | number;
        when: string;
        workingDirectory: string;
    }[]
  • customSQLScripts: {
        scriptFile: string;
        when: string;
    }[]
  • dbDatabase: string
  • dbHost: string
  • Optional dbInstanceName?: null | string
  • dbPort: number
  • dbSchemaJSONOutput: {
        bundles: {
            excludeEntities: string[];
            excludeSchemas: string[];
            name: string;
            schemas: string[];
        }[];
        excludeEntities: string[];
        excludeSchemas: string[];
    }
    • bundles: {
          excludeEntities: string[];
          excludeSchemas: string[];
          name: string;
          schemas: string[];
      }[]
    • excludeEntities: string[]
    • excludeSchemas: string[]
  • dbTrustServerCertificate: "Y" | "N"
  • excludeSchemas: string[]
  • excludeTables: {
        schema: string;
        table: string;
    }[]
  • forceRegeneration: {
        allStoredProcedures: boolean;
        baseViews: boolean;
        enabled: boolean;
        entityWhereClause?: string;
        fullTextSearch: boolean;
        indexes: boolean;
        spCreate: boolean;
        spDelete: boolean;
        spUpdate: boolean;
    }
    • allStoredProcedures: boolean

      Force regeneration of all stored procedures

    • baseViews: boolean

      Force regeneration of base views

    • enabled: boolean

      Force regeneration of all SQL objects even if no schema changes are detected

    • Optional entityWhereClause?: string

      Optional SQL WHERE clause to filter entities for forced regeneration Example: "SchemaName = 'dbo' AND Name LIKE 'User%'"

    • fullTextSearch: boolean

      Force regeneration of full text search components

    • indexes: boolean

      Force regeneration of indexes for foreign keys

    • spCreate: boolean

      Force regeneration of spCreate procedures

    • spDelete: boolean

      Force regeneration of spDelete procedures

    • spUpdate: boolean

      Force regeneration of spUpdate procedures

  • graphqlPort: number
  • integrityChecks: {
        enabled: boolean;
        entityFieldsSequenceCheck: boolean;
    }
    • enabled: boolean
    • entityFieldsSequenceCheck: boolean
  • logging: {
        console: boolean;
        log: boolean;
        logFile: string;
    }
    • console: boolean

      Whether to also log to console

    • log: boolean

      Whether logging is enabled

    • logFile: string

      File path for log output

  • mjCoreSchema: string
  • newEntityDefaults: {
        AddToApplicationWithSchemaName: boolean;
        AllowAllRowsAPI: boolean;
        AllowCreateAPI: boolean;
        AllowDeleteAPI: boolean;
        AllowUpdateAPI: boolean;
        AllowUserSearchAPI: boolean;
        AuditRecordAccess: boolean;
        AuditViewRuns: boolean;
        CascadeDeletes: boolean;
        IncludeFirstNFieldsAsDefaultInView: number;
        NameRulesBySchema: {
            EntityNamePrefix: string;
            EntityNameSuffix: string;
            SchemaName: string;
        }[];
        PermissionDefaults: {
            AutoAddPermissionsForNewEntities: boolean;
            Permissions: {
                CanCreate: boolean;
                CanDelete: boolean;
                CanRead: boolean;
                CanUpdate: boolean;
                RoleName: string;
            }[];
        };
        TrackRecordChanges: boolean;
        UserViewMaxRows: number;
    }
    • AddToApplicationWithSchemaName: boolean
    • AllowAllRowsAPI: boolean
    • AllowCreateAPI: boolean
    • AllowDeleteAPI: boolean
    • AllowUpdateAPI: boolean
    • AllowUserSearchAPI: boolean
    • AuditRecordAccess: boolean
    • AuditViewRuns: boolean
    • CascadeDeletes: boolean
    • IncludeFirstNFieldsAsDefaultInView: number
    • NameRulesBySchema: {
          EntityNamePrefix: string;
          EntityNameSuffix: string;
          SchemaName: string;
      }[]
    • PermissionDefaults: {
          AutoAddPermissionsForNewEntities: boolean;
          Permissions: {
              CanCreate: boolean;
              CanDelete: boolean;
              CanRead: boolean;
              CanUpdate: boolean;
              RoleName: string;
          }[];
      }
      • AutoAddPermissionsForNewEntities: boolean
      • Permissions: {
            CanCreate: boolean;
            CanDelete: boolean;
            CanRead: boolean;
            CanUpdate: boolean;
            RoleName: string;
        }[]
    • TrackRecordChanges: boolean
    • UserViewMaxRows: number
  • newEntityRelationshipDefaults: {
        AutomaticallyCreateRelationships: boolean;
        CreateOneToManyRelationships: boolean;
    }
    • AutomaticallyCreateRelationships: boolean
    • CreateOneToManyRelationships: boolean
  • newSchemaDefaults: {
        CreateNewApplicationWithSchemaName: boolean;
    }
    • CreateNewApplicationWithSchemaName: boolean
  • Optional newUserSetup?: null | {
        CreateUserApplicationRecords: boolean;
        Email: string;
        FirstName: string;
        LastName: string;
        Roles: string[];
        UserApplications: string[];
        UserName: string;
    }
  • output: {
        appendOutputCode?: boolean;
        directory: string;
        options?: {
            name: string;
            value?: any;
        }[];
        type: string;
    }[]
  • Optional outputCode?: null | string
  • settings: {
        name: string;
        value?: any;
    }[]
  • verboseOutput: boolean