diffTestSchemas() — drizzle-orm Function Reference
Architecture documentation for the diffTestSchemas() function in schemaDiffer.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD c00494ea_6230_22b6_9b91_d37781a8ac08["diffTestSchemas()"] fb6b4a65_030b_ce6b_df0d_2be21adcd2b3["schemaDiffer.ts"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|defined in| fb6b4a65_030b_ce6b_df0d_2be21adcd2b3 eeae166f_7245_697c_8a12_79452338852b["testSchemasResolver()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| eeae166f_7245_697c_8a12_79452338852b 6670774e_1db8_2949_ed84_d99556952a75["testEnumsResolver()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| 6670774e_1db8_2949_ed84_d99556952a75 2522a128_f430_99e3_ea16_7c738fa66b11["testSequencesResolver()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| 2522a128_f430_99e3_ea16_7c738fa66b11 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904["testPolicyResolver()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904 34ec492e_618a_f328_80c2_00f216a2b9bb["testIndPolicyResolver()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| 34ec492e_618a_f328_80c2_00f216a2b9bb a2b8feff_6977_e47d_0e40_9b276e533813["testRolesResolver()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| a2b8feff_6977_e47d_0e40_9b276e533813 fd1b2256_62ed_ec7e_c677_9d8cbf56136b["testTablesResolver()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b 96edd91d_9f30_fc37_cbd3_7c1229315b14["testColumnsResolver()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14 868985e6_2cbc_d514_e90b_6c5c650c0e1c["testViewsResolver()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| 868985e6_2cbc_d514_e90b_6c5c650c0e1c style c00494ea_6230_22b6_9b91_d37781a8ac08 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/tests/schemaDiffer.ts lines 1214–1338
export const diffTestSchemas = async (
left: PostgresSchema,
right: PostgresSchema,
renamesArr: string[],
cli: boolean = false,
casing?: CasingType | undefined,
) => {
const leftTables = Object.values(left).filter((it) => is(it, PgTable)) as PgTable[];
const rightTables = Object.values(right).filter((it) => is(it, PgTable)) as PgTable[];
const leftSchemas = Object.values(left).filter((it) => is(it, PgSchema)) as PgSchema[];
const rightSchemas = Object.values(right).filter((it) => is(it, PgSchema)) as PgSchema[];
const leftEnums = Object.values(left).filter((it) => isPgEnum(it)) as PgEnum<any>[];
const rightEnums = Object.values(right).filter((it) => isPgEnum(it)) as PgEnum<any>[];
const leftSequences = Object.values(left).filter((it) => isPgSequence(it)) as PgSequence[];
const rightSequences = Object.values(right).filter((it) => isPgSequence(it)) as PgSequence[];
const leftRoles = Object.values(left).filter((it) => is(it, PgRole)) as PgRole[];
const rightRoles = Object.values(right).filter((it) => is(it, PgRole)) as PgRole[];
const leftPolicies = Object.values(left).filter((it) => is(it, PgPolicy)) as PgPolicy[];
const rightPolicies = Object.values(right).filter((it) => is(it, PgPolicy)) as PgPolicy[];
const leftViews = Object.values(left).filter((it) => isPgView(it)) as PgView[];
const rightViews = Object.values(right).filter((it) => isPgView(it)) as PgView[];
const leftMaterializedViews = Object.values(left).filter((it) => isPgMaterializedView(it)) as PgMaterializedView[];
const rightMaterializedViews = Object.values(right).filter((it) => isPgMaterializedView(it)) as PgMaterializedView[];
const serialized1 = generatePgSnapshot(
leftTables,
leftEnums,
leftSchemas,
leftSequences,
leftRoles,
leftPolicies,
leftViews,
leftMaterializedViews,
casing,
);
const serialized2 = generatePgSnapshot(
rightTables,
rightEnums,
rightSchemas,
rightSequences,
rightRoles,
rightPolicies,
rightViews,
rightMaterializedViews,
casing,
);
const { version: v1, dialect: d1, ...rest1 } = serialized1;
const { version: v2, dialect: d2, ...rest2 } = serialized2;
const sch1 = {
version: '7',
dialect: 'postgresql',
id: '0',
prevId: '0',
...rest1,
} as const;
const sch2 = {
version: '7',
dialect: 'postgresql',
id: '0',
prevId: '0',
...rest2,
} as const;
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does diffTestSchemas() do?
diffTestSchemas() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is diffTestSchemas() defined?
diffTestSchemas() is defined in drizzle-kit/tests/schemaDiffer.ts at line 1214.
What does diffTestSchemas() call?
diffTestSchemas() calls 9 function(s): testColumnsResolver, testEnumsResolver, testIndPolicyResolver, testPolicyResolver, testRolesResolver, testSchemasResolver, testSequencesResolver, testTablesResolver, and 1 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free