introspectPgToFile() — drizzle-orm Function Reference
Architecture documentation for the introspectPgToFile() function in schemaDiffer.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 099eb17b_7dab_5785_cbf8_b861b392a028["introspectPgToFile()"] fb6b4a65_030b_ce6b_df0d_2be21adcd2b3["schemaDiffer.ts"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|defined in| fb6b4a65_030b_ce6b_df0d_2be21adcd2b3 a9b90700_95b1_2733_ec44_94b71b29bd74["applyPgDiffs()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| a9b90700_95b1_2733_ec44_94b71b29bd74 eeae166f_7245_697c_8a12_79452338852b["testSchemasResolver()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| eeae166f_7245_697c_8a12_79452338852b 6670774e_1db8_2949_ed84_d99556952a75["testEnumsResolver()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| 6670774e_1db8_2949_ed84_d99556952a75 2522a128_f430_99e3_ea16_7c738fa66b11["testSequencesResolver()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| 2522a128_f430_99e3_ea16_7c738fa66b11 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904["testPolicyResolver()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904 34ec492e_618a_f328_80c2_00f216a2b9bb["testIndPolicyResolver()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| 34ec492e_618a_f328_80c2_00f216a2b9bb a2b8feff_6977_e47d_0e40_9b276e533813["testRolesResolver()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| a2b8feff_6977_e47d_0e40_9b276e533813 fd1b2256_62ed_ec7e_c677_9d8cbf56136b["testTablesResolver()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b 96edd91d_9f30_fc37_cbd3_7c1229315b14["testColumnsResolver()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| 96edd91d_9f30_fc37_cbd3_7c1229315b14 868985e6_2cbc_d514_e90b_6c5c650c0e1c["testViewsResolver()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| 868985e6_2cbc_d514_e90b_6c5c650c0e1c style 099eb17b_7dab_5785_cbf8_b861b392a028 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/tests/schemaDiffer.ts lines 2303–2403
export const introspectPgToFile = async (
client: PGlite,
initSchema: PostgresSchema,
testName: string,
schemas: string[] = ['public'],
entities?: Entities,
casing?: CasingType | undefined,
) => {
// put in db
const { sqlStatements } = await applyPgDiffs(initSchema, casing);
for (const st of sqlStatements) {
await client.query(st);
}
// introspect to schema
const introspectedSchema = await fromDatabase(
{
query: async (query: string, values?: any[] | undefined) => {
const res = await client.query(query, values);
return res.rows as any[];
},
},
undefined,
schemas,
entities,
);
const { version: initV, dialect: initD, ...initRest } = introspectedSchema;
const initSch = {
version: '7',
dialect: 'postgresql',
id: '0',
prevId: '0',
...initRest,
} as const;
const initSn = squashPgScheme(initSch);
const validatedCur = pgSchema.parse(initSch);
// write to ts file
const file = schemaToTypeScript(introspectedSchema, 'camel');
fs.writeFileSync(`tests/introspect/postgres/${testName}.ts`, file.file);
// generate snapshot from ts file
const response = await prepareFromPgImports([
`tests/introspect/postgres/${testName}.ts`,
]);
const afterFileImports = generatePgSnapshot(
response.tables,
response.enums,
response.schemas,
response.sequences,
response.roles,
response.policies,
response.views,
response.matViews,
casing,
);
const { version: v2, dialect: d2, ...rest2 } = afterFileImports;
const sch2 = {
version: '7',
dialect: 'postgresql',
id: '0',
prevId: '0',
...rest2,
} as const;
const sn2AfterIm = squashPgScheme(sch2);
const validatedCurAfterImport = pgSchema.parse(sch2);
const {
sqlStatements: afterFileSqlStatements,
statements: afterFileStatements,
} = await applyPgSnapshotsDiff(
initSn,
sn2AfterIm,
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does introspectPgToFile() do?
introspectPgToFile() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is introspectPgToFile() defined?
introspectPgToFile() is defined in drizzle-kit/tests/schemaDiffer.ts at line 2303.
What does introspectPgToFile() call?
introspectPgToFile() calls 10 function(s): applyPgDiffs, testColumnsResolver, testEnumsResolver, testIndPolicyResolver, testPolicyResolver, testRolesResolver, testSchemasResolver, testSequencesResolver, and 2 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free