From 251d77bbc6c762cf4ed4806ca1dcc08710f73603 Mon Sep 17 00:00:00 2001 From: ivan-m-dev Date: Thu, 26 Feb 2026 15:11:32 +0100 Subject: [PATCH 1/2] HCK-14983: add index annotations --- forward_engineering/ddlProvider/ddlProvider.js | 6 +++++- forward_engineering/ddlProvider/templates.js | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/forward_engineering/ddlProvider/ddlProvider.js b/forward_engineering/ddlProvider/ddlProvider.js index d4ae6e2..577bdb4 100644 --- a/forward_engineering/ddlProvider/ddlProvider.js +++ b/forward_engineering/ddlProvider/ddlProvider.js @@ -494,7 +494,7 @@ module.exports = (baseProvider, options, app) => { }, hydrateIndex(indexData, tableData, schemaData) { - return { ...indexData, schemaName: schemaData.schemaName }; + return { ...indexData, schemaName: schemaData.schemaName, indexAnnotations: indexData.indexAnnotations }; }, createIndex(tableName, index, dbData, isParentActivated = true) { @@ -510,6 +510,9 @@ module.exports = (baseProvider, options, app) => { const dbVersion = options.dbVersion || ''; const usingTryCatchWrapper = shouldUseTryCatchIfNotExistsWrapper(dbVersion); + const annotations = getAnnotationsString(prepareName)(index.indexAnnotations); + const finalAnnotationsClause = annotations ? ' ' + annotations : ''; + const shouldInsertIfNotExistsStatement = index.ifNotExist && !usingTryCatchWrapper; let statement = assignTemplates(templates.createIndex, { @@ -519,6 +522,7 @@ module.exports = (baseProvider, options, app) => { keys, options: indexOptions, tableName: getNamePrefixedWithSchemaName(tableName, index.schemaName), + annotations: finalAnnotationsClause, }); if (index.ifNotExist && usingTryCatchWrapper) { diff --git a/forward_engineering/ddlProvider/templates.js b/forward_engineering/ddlProvider/templates.js index c31cc41..cdad4e5 100644 --- a/forward_engineering/ddlProvider/templates.js +++ b/forward_engineering/ddlProvider/templates.js @@ -20,7 +20,7 @@ module.exports = { createForeignKey: 'ALTER TABLE ${foreignTable} ADD CONSTRAINT ${name} FOREIGN KEY (${foreignKey}) REFERENCES ${primaryTable} (${primaryKey})${onDelete};', - createIndex: `CREATE$\{indexType} INDEX$\{ifNotExists}$\{name} ON $\{tableName}$\{keys}$\{options};\n`, + createIndex: `CREATE$\{indexType} INDEX$\{ifNotExists}$\{name} ON $\{tableName}$\{keys}$\{options}$\{annotations};\n`, dropIndex: 'DROP INDEX ${name};', From 0b8c47753a231c4e19483c3246bf3a4e043ee409 Mon Sep 17 00:00:00 2001 From: ivan-m-dev Date: Thu, 26 Feb 2026 15:42:01 +0100 Subject: [PATCH 2/2] HCK-14983: update index template --- forward_engineering/ddlProvider/templates.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forward_engineering/ddlProvider/templates.js b/forward_engineering/ddlProvider/templates.js index cdad4e5..f735161 100644 --- a/forward_engineering/ddlProvider/templates.js +++ b/forward_engineering/ddlProvider/templates.js @@ -20,7 +20,7 @@ module.exports = { createForeignKey: 'ALTER TABLE ${foreignTable} ADD CONSTRAINT ${name} FOREIGN KEY (${foreignKey}) REFERENCES ${primaryTable} (${primaryKey})${onDelete};', - createIndex: `CREATE$\{indexType} INDEX$\{ifNotExists}$\{name} ON $\{tableName}$\{keys}$\{options}$\{annotations};\n`, + createIndex: 'CREATE${indexType} INDEX${ifNotExists}${name} ON ${tableName}${keys}${options}${annotations};\n', dropIndex: 'DROP INDEX ${name};',