squashPgScheme() — drizzle-orm Function Reference
Architecture documentation for the squashPgScheme() function in pgSchema.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 60cccf3e_0a08_14d7_0d22_dfaeb6777eb0["squashPgScheme()"] cbf63853_6723_30fc_5ded_88a8944f77c4["pgSchema.ts"] 60cccf3e_0a08_14d7_0d22_dfaeb6777eb0 -->|defined in| cbf63853_6723_30fc_5ded_88a8944f77c4 9be8a94f_0ac5_3586_c117_3bc214e2beff["generateMigration()"] 9be8a94f_0ac5_3586_c117_3bc214e2beff -->|calls| 60cccf3e_0a08_14d7_0d22_dfaeb6777eb0 4c61650e_7f36_043b_24cd_0e5119e86678["pushSchema()"] 4c61650e_7f36_043b_24cd_0e5119e86678 -->|calls| 60cccf3e_0a08_14d7_0d22_dfaeb6777eb0 d532b567_3dc6_7be3_0c7e_e6f3a15eddff["introspectPostgres()"] d532b567_3dc6_7be3_0c7e_e6f3a15eddff -->|calls| 60cccf3e_0a08_14d7_0d22_dfaeb6777eb0 285d7baa_1c76_20e1_0c68_26eaff3a4a05["prepareAndMigratePg()"] 285d7baa_1c76_20e1_0c68_26eaff3a4a05 -->|calls| 60cccf3e_0a08_14d7_0d22_dfaeb6777eb0 4e596a62_7d9b_59ea_a118_46bc45866220["prepareAndExportPg()"] 4e596a62_7d9b_59ea_a118_46bc45866220 -->|calls| 60cccf3e_0a08_14d7_0d22_dfaeb6777eb0 64dd46c3_600a_69ef_c92f_904881477e81["preparePgPush()"] 64dd46c3_600a_69ef_c92f_904881477e81 -->|calls| 60cccf3e_0a08_14d7_0d22_dfaeb6777eb0 920ff56d_9b78_d6a4_9c81_c1e6a3d1d992["mapValues()"] 60cccf3e_0a08_14d7_0d22_dfaeb6777eb0 -->|calls| 920ff56d_9b78_d6a4_9c81_c1e6a3d1d992 style 60cccf3e_0a08_14d7_0d22_dfaeb6777eb0 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/serializer/pgSchema.ts lines 758–868
export const squashPgScheme = (
json: PgSchema,
action?: 'push' | undefined,
): PgSchemaSquashed => {
const mappedTables = Object.fromEntries(
Object.entries(json.tables).map((it) => {
const squashedIndexes = mapValues(it[1].indexes, (index) => {
return action === 'push'
? PgSquasher.squashIdxPush(index)
: PgSquasher.squashIdx(index);
});
const squashedFKs = mapValues(it[1].foreignKeys, (fk) => {
return PgSquasher.squashFK(fk);
});
const squashedPKs = mapValues(it[1].compositePrimaryKeys, (pk) => {
return PgSquasher.squashPK(pk);
});
const mappedColumns = Object.fromEntries(
Object.entries(it[1].columns).map((it) => {
const mappedIdentity = it[1].identity
? PgSquasher.squashIdentity(it[1].identity)
: undefined;
return [
it[0],
{
...it[1],
identity: mappedIdentity,
},
];
}),
);
const squashedUniqueConstraints = mapValues(
it[1].uniqueConstraints,
(unq) => {
return PgSquasher.squashUnique(unq);
},
);
const squashedPolicies = mapValues(it[1].policies, (policy) => {
return action === 'push'
? PgSquasher.squashPolicyPush(policy)
: PgSquasher.squashPolicy(policy);
});
const squashedChecksContraints = mapValues(
it[1].checkConstraints,
(check) => {
return PgSquasher.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: PgSquasher.squashSequence(it[1]),
},
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does squashPgScheme() do?
squashPgScheme() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/serializer/pgSchema.ts.
Where is squashPgScheme() defined?
squashPgScheme() is defined in drizzle-kit/src/serializer/pgSchema.ts at line 758.
What does squashPgScheme() call?
squashPgScheme() calls 1 function(s): mapValues.
What calls squashPgScheme()?
squashPgScheme() is called by 6 function(s): generateMigration, introspectPostgres, prepareAndExportPg, prepareAndMigratePg, preparePgPush, pushSchema.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free