asciidoctor-liquibase
Version:
Asciidoctor.js extension to render liquibase changesets as entity relationship diagram
65 lines (61 loc) • 3.11 kB
JavaScript
// *** WARNING: DO NOT MODIFY *** This is a generated JavaScript source code!
//
// Generated by LF-ET 2.2.1 (230826a), https://www.lohrfink.de/lfet
// From decision table
// "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/addForeignKeyConstraint.lfet"
// 10.09.2023 22:28
//
// Changes to this code resulting from refactorings can be synchronised
// with LF-ET using the function "Scrapbook Import".
//
// Prolog Decision Table ---->
const { stringify } = require('../utils')
function addForeignKeyConstraint (element, currentFile, processModel, logger, vfs) {
// Prolog Decision Table <----
// Condition B01/01: definition is based on ... format / yaml / yaml definition
if (currentFile.endsWith('yaml')) {
// Rule R01 ---->
// Trace ---->
logger.info(`addForeignKeyConstraint - 20230910.222853 - 1 / 3 - ${currentFile} - ${stringify(processModel)}`)
// Trace <----
// Action A01/01: extract ... / yaml / extract table on yaml definition
const baseTableName = element.addForeignKeyConstraint.baseTableName
const baseColumnName = element.addForeignKeyConstraint.baseColumnNames
const referencedTableName = element.addForeignKeyConstraint.referencedTableName
const referencedColumnName = element.addForeignKeyConstraint.referencedColumnNames
processModel.tables.get(baseTableName).columns.get(baseColumnName).referencedTable = referencedTableName
processModel.tables.get(baseTableName).columns.get(baseColumnName).referencedColumn = referencedColumnName
// Rule R01 <----
// Condition B01/02: definition is based on ... format / xml / xml definition
} else if (currentFile.endsWith('xml')) {
// Rule R02 ---->
// Trace ---->
logger.info(`addForeignKeyConstraint - 20230910.222853 - 2 / 3 - ${currentFile} - ${stringify(processModel)}`)
// Trace <----
// Action A01/02: extract ... / xml / extract on xml definition
const baseTableName = element.$.baseTableName
const baseColumnName = element.$.baseColumnNames
const referencedTableName = element.$.referencedTableName
const referencedColumnName = element.$.referencedColumnNames
processModel.tables.get(baseTableName).columns.get(baseColumnName).referencedTable = referencedTableName
processModel.tables.get(baseTableName).columns.get(baseColumnName).referencedColumn = referencedColumnName
// Rule R02 <----
} else {
// Rule R03 ---->
// Trace ---->
logger.info(`addForeignKeyConstraint - 20230910.222853 - 3 / 3 - ${currentFile} - ${stringify(processModel)}`)
// Trace <----
// Action A02/01: error / X / execute action
logger.error(`addForeignKeyConstraint - 20230910.222853 - Format for ${currentFile} is not supported.`)
// Rule R03 <----
}
// Epilog Decision Table ---->
}
module.exports = {
extract: (element, currentFile, processModel, logger, vfs) => {
return addForeignKeyConstraint(element, currentFile, processModel, logger, vfs)
}
}
// Epilog Decision Table <----
// End of generated JavaScript source code
// Generated by LF-ET 2.2.1 (230826a), https://www.lohrfink.de/lfet