findAlternationsInTable() — drizzle-orm Function Reference
Architecture documentation for the findAlternationsInTable() function in jsonDiffer.js from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 906f6136_df62_f258_6513_16b2c830beec["findAlternationsInTable()"] 42cd5bcb_caa4_6b61_11ea_da1b767eeadd["jsonDiffer.js"] 906f6136_df62_f258_6513_16b2c830beec -->|defined in| 42cd5bcb_caa4_6b61_11ea_da1b767eeadd 533ce4b3_537b_7386_0343_102f1baf9cfb["diffForRenamedTable()"] 533ce4b3_537b_7386_0343_102f1baf9cfb -->|calls| 906f6136_df62_f258_6513_16b2c830beec 3b61cdb0_0771_3cda_8dbf_5ecbe8a49a2b["applyJsonDiff()"] 3b61cdb0_0771_3cda_8dbf_5ecbe8a49a2b -->|calls| 906f6136_df62_f258_6513_16b2c830beec 8b823a7b_e100_8757_c26e_074b85993748["alternationsInColumn()"] 906f6136_df62_f258_6513_16b2c830beec -->|calls| 8b823a7b_e100_8757_c26e_074b85993748 style 906f6136_df62_f258_6513_16b2c830beec fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/jsonDiffer.js lines 413–572
const findAlternationsInTable = (table) => {
// map each table to have altered, deleted or renamed columns
// in case no columns were altered, but indexes were
const columns = table.columns ?? {};
const altered = Object.keys(columns)
.filter((it) => !(it.includes('__deleted') || it.includes('__added')))
.map((it) => {
return { name: it, ...columns[it] };
});
const deletedIndexes = Object.fromEntries(
Object.entries(table.indexes__deleted || {})
.concat(
Object.entries(table.indexes || {}).filter((it) => it[0].includes('__deleted')),
)
.map((entry) => [entry[0].replace('__deleted', ''), entry[1]]),
);
const addedIndexes = Object.fromEntries(
Object.entries(table.indexes__added || {})
.concat(
Object.entries(table.indexes || {}).filter((it) => it[0].includes('__added')),
)
.map((entry) => [entry[0].replace('__added', ''), entry[1]]),
);
const alteredIndexes = Object.fromEntries(
Object.entries(table.indexes || {}).filter((it) => {
return !it[0].endsWith('__deleted') && !it[0].endsWith('__added');
}),
);
const deletedPolicies = Object.fromEntries(
Object.entries(table.policies__deleted || {})
.concat(
Object.entries(table.policies || {}).filter((it) => it[0].includes('__deleted')),
)
.map((entry) => [entry[0].replace('__deleted', ''), entry[1]]),
);
const addedPolicies = Object.fromEntries(
Object.entries(table.policies__added || {})
.concat(
Object.entries(table.policies || {}).filter((it) => it[0].includes('__added')),
)
.map((entry) => [entry[0].replace('__added', ''), entry[1]]),
);
const alteredPolicies = Object.fromEntries(
Object.entries(table.policies || {}).filter((it) => {
return !it[0].endsWith('__deleted') && !it[0].endsWith('__added');
}),
);
const deletedForeignKeys = Object.fromEntries(
Object.entries(table.foreignKeys__deleted || {})
.concat(
Object.entries(table.foreignKeys || {}).filter((it) => it[0].includes('__deleted')),
)
.map((entry) => [entry[0].replace('__deleted', ''), entry[1]]),
);
const addedForeignKeys = Object.fromEntries(
Object.entries(table.foreignKeys__added || {})
.concat(
Object.entries(table.foreignKeys || {}).filter((it) => it[0].includes('__added')),
)
.map((entry) => [entry[0].replace('__added', ''), entry[1]]),
);
const alteredForeignKeys = Object.fromEntries(
Object.entries(table.foreignKeys || {})
.filter(
(it) => !it[0].endsWith('__added') && !it[0].endsWith('__deleted'),
)
.map((entry) => [entry[0], entry[1]]),
);
const addedCompositePKs = Object.fromEntries(
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does findAlternationsInTable() do?
findAlternationsInTable() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/jsonDiffer.js.
Where is findAlternationsInTable() defined?
findAlternationsInTable() is defined in drizzle-kit/src/jsonDiffer.js at line 413.
What does findAlternationsInTable() call?
findAlternationsInTable() calls 1 function(s): alternationsInColumn.
What calls findAlternationsInTable()?
findAlternationsInTable() is called by 2 function(s): applyJsonDiff, diffForRenamedTable.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free