diff --git a/forward_engineering/alterScript/alterScriptFromDeltaHelper.js b/forward_engineering/alterScript/alterScriptFromDeltaHelper.js index 521f77b..0508ab3 100644 --- a/forward_engineering/alterScript/alterScriptFromDeltaHelper.js +++ b/forward_engineering/alterScript/alterScriptFromDeltaHelper.js @@ -98,8 +98,19 @@ const getAlterViewScripts = (collection, app, modelData) => { }; const getInlineRelationships = ({ data, options }) => { - // Will be implemented with script generation options - return []; + if (options?.scriptGenerationOptions?.feActiveOptions?.foreignKeys !== 'inline') { + return []; + } + + const addedCollectionIDs = getItems(data.properties?.entities?.properties?.added) + .filter(item => item && Object.values(item.properties)?.[0]?.compMod?.created) + .map(item => Object.values(item.properties)[0].role.id); + + const addedRelationships = getItems(data.properties?.relationships?.properties?.added) + .map(item => item && Object.values(item.properties)[0]) + .filter(r => r?.role?.compMod?.created && addedCollectionIDs.includes(r?.role?.childCollection)); + + return addedRelationships; }; const getAlterRelationshipsScript = ({ collection, app, modelData, ignoreRelationshipIDs = [] }) => { diff --git a/forward_engineering/alterScript/alterScriptHelpers/alterForeignKeyHelper.js b/forward_engineering/alterScript/alterScriptHelpers/alterForeignKeyHelper.js index 0d095e7..bd708f1 100644 --- a/forward_engineering/alterScript/alterScriptHelpers/alterForeignKeyHelper.js +++ b/forward_engineering/alterScript/alterScriptHelpers/alterForeignKeyHelper.js @@ -6,6 +6,11 @@ const getRelationshipName = ({ relationship }) => { return compMod.code?.new || compMod.name?.new || relationship.role.code || relationship.role.name; }; +const getOldRelationshipName = ({ relationship }) => { + const compMod = relationship.role.compMod; + return compMod.code?.old || compMod.name?.old || relationship.role.code || relationship.role.name; +}; + const getFullChildTableName = ({ relationship, modelData }) => { const compMod = relationship.role.compMod; @@ -94,7 +99,7 @@ const getAddForeignKeyScripts = const getDeleteSingleForeignKeyStatementDto = ({ app, relationship, modelData }) => { const compMod = relationship.role.compMod; const tableName = getFullChildTableName({ relationship, modelData }); - const relationshipName = getRelationshipName({ relationship }); + const relationshipName = getOldRelationshipName({ relationship }); const constraintName = prepareConstraintName(relationshipName); const assignTemplates = app.require('@hackolade/ddl-fe-utils').assignTemplates;