UNPKG

ddl-manager

Version:

store postgres procedures and triggers in files

29 lines (21 loc) 1 kB
import { TableReference } from "../../database/schema/TableReference"; import { CacheContext } from "../trigger-builder/CacheContext"; import { findNecessaryTableMatrix } from "./findNecessaryTableMatrix"; export function buildFrom(context: CacheContext) { const necessaryTableMatrix: string[][] = findNecessaryTableMatrix(context); const fromItems: string[] = [context.triggerTable.toStringWithoutPublic()]; for (const necessaryTableAliases of necessaryTableMatrix) { for (const identifier of necessaryTableAliases) { const refFilter = TableReference.identifier2filter(identifier); const tableReference = context.cache.select.findTableReference(refFilter); if ( !tableReference ) { continue; } if ( fromItems.includes(tableReference.toString()) ) { continue; } fromItems.push(tableReference.toString()); } } return fromItems; }