squashGelScheme() — drizzle-orm Function Reference
Architecture documentation for the squashGelScheme() function in gelSchema.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD bd3b7a09_d6ac_f9d2_de45_840316358cf8["squashGelScheme()"] 964b24c5_3481_bed3_69f7_b6e4cefe58bb["gelSchema.ts"] bd3b7a09_d6ac_f9d2_de45_840316358cf8 -->|defined in| 964b24c5_3481_bed3_69f7_b6e4cefe58bb 920ff56d_9b78_d6a4_9c81_c1e6a3d1d992["mapValues()"] bd3b7a09_d6ac_f9d2_de45_840316358cf8 -->|calls| 920ff56d_9b78_d6a4_9c81_c1e6a3d1d992 style bd3b7a09_d6ac_f9d2_de45_840316358cf8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/serializer/gelSchema.ts lines 505–615
export const squashGelScheme = (
json: GelSchema,
action?: 'push' | undefined,
): GelSchemaSquashed => {
const mappedTables = Object.fromEntries(
Object.entries(json.tables).map((it) => {
const squashedIndexes = mapValues(it[1].indexes, (index) => {
return action === 'push'
? GelSquasher.squashIdxPush(index)
: GelSquasher.squashIdx(index);
});
const squashedFKs = mapValues(it[1].foreignKeys, (fk) => {
return GelSquasher.squashFK(fk);
});
const squashedPKs = mapValues(it[1].compositePrimaryKeys, (pk) => {
return GelSquasher.squashPK(pk);
});
const mappedColumns = Object.fromEntries(
Object.entries(it[1].columns).map((it) => {
const mappedIdentity = it[1].identity
? GelSquasher.squashIdentity(it[1].identity)
: undefined;
return [
it[0],
{
...it[1],
identity: mappedIdentity,
},
];
}),
);
const squashedUniqueConstraints = mapValues(
it[1].uniqueConstraints,
(unq) => {
return GelSquasher.squashUnique(unq);
},
);
const squashedPolicies = mapValues(it[1].policies, (policy) => {
return action === 'push'
? GelSquasher.squashPolicyPush(policy)
: GelSquasher.squashPolicy(policy);
});
const squashedChecksContraints = mapValues(
it[1].checkConstraints,
(check) => {
return GelSquasher.squashCheck(check);
},
);
return [
it[0],
{
name: it[1].name,
schema: it[1].schema,
columns: mappedColumns,
indexes: squashedIndexes,
foreignKeys: squashedFKs,
compositePrimaryKeys: squashedPKs,
uniqueConstraints: squashedUniqueConstraints,
policies: squashedPolicies,
checkConstraints: squashedChecksContraints,
isRLSEnabled: it[1].isRLSEnabled ?? false,
},
];
}),
);
const mappedSequences = Object.fromEntries(
Object.entries(json.sequences).map((it) => {
return [
it[0],
{
name: it[1].name,
schema: it[1].schema,
values: GelSquasher.squashSequence(it[1]),
},
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does squashGelScheme() do?
squashGelScheme() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/serializer/gelSchema.ts.
Where is squashGelScheme() defined?
squashGelScheme() is defined in drizzle-kit/src/serializer/gelSchema.ts at line 505.
What does squashGelScheme() call?
squashGelScheme() calls 1 function(s): mapValues.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free