diff --git a/forward_engineering/ddlProvider/ddlHelpers/functionHelper.js b/forward_engineering/ddlProvider/ddlHelpers/functionHelper.js index bdb9580..9ce0405 100644 --- a/forward_engineering/ddlProvider/ddlHelpers/functionHelper.js +++ b/forward_engineering/ddlProvider/ddlHelpers/functionHelper.js @@ -1,9 +1,15 @@ -module.exports = ({ _, templates, assignTemplates, getFunctionArguments, getNamePrefixedWithSchemaName }) => { +module.exports = ({ + _, + templates, + assignTemplates, + getFunctionArguments, + getNamePrefixedWithSchemaName, + wrapComment, +}) => { const getFunctionsScript = (schemaName, udfs) => { return _.map(udfs, udf => { const orReplace = udf.functionOrReplace ? ' OR REPLACE' : ''; - - return assignTemplates(templates.createFunction, { + const createFunctionStatement = assignTemplates(templates.createFunction, { name: getNamePrefixedWithSchemaName(udf.name, schemaName), orReplace: orReplace, parameters: getFunctionArguments(udf.functionArguments), @@ -12,6 +18,15 @@ module.exports = ({ _, templates, assignTemplates, getFunctionArguments, getName properties: getProperties(udf), definition: udf.functionBody, }); + const commentOnFunction = udf.functionDescription + ? assignTemplates(templates.comment, { + object: 'FUNCTION', + objectName: getNamePrefixedWithSchemaName(udf.name, schemaName), + comment: wrapComment(udf.functionDescription), + }) + : ''; + + return [createFunctionStatement, commentOnFunction].filter(Boolean).join('\n'); }).join('\n'); }; diff --git a/forward_engineering/ddlProvider/ddlProvider.js b/forward_engineering/ddlProvider/ddlProvider.js index 672d841..71cf7d6 100644 --- a/forward_engineering/ddlProvider/ddlProvider.js +++ b/forward_engineering/ddlProvider/ddlProvider.js @@ -45,6 +45,7 @@ module.exports = (baseProvider, options, app) => { assignTemplates, getFunctionArguments, getNamePrefixedWithSchemaName, + wrapComment, }); const { getProceduresScript } = require('./ddlHelpers/procedureHelper')({