testTablesResolver() — drizzle-orm Function Reference
Architecture documentation for the testTablesResolver() function in schemaDiffer.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD fd1b2256_62ed_ec7e_c677_9d8cbf56136b["testTablesResolver()"] fb6b4a65_030b_ce6b_df0d_2be21adcd2b3["schemaDiffer.ts"] fd1b2256_62ed_ec7e_c677_9d8cbf56136b -->|defined in| fb6b4a65_030b_ce6b_df0d_2be21adcd2b3 e15327fc_6c47_0a22_5e26_e5f3a2056272["diffTestSchemasPush()"] e15327fc_6c47_0a22_5e26_e5f3a2056272 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b a9b90700_95b1_2733_ec44_94b71b29bd74["applyPgDiffs()"] a9b90700_95b1_2733_ec44_94b71b29bd74 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b c00494ea_6230_22b6_9b91_d37781a8ac08["diffTestSchemas()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b 80675dbe_974e_8184_3152_575e76219c4a["diffTestSchemasPushMysql()"] 80675dbe_974e_8184_3152_575e76219c4a -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b 54ca5813_630b_5da2_847e_de001e848a8c["applyMySqlDiffs()"] 54ca5813_630b_5da2_847e_de001e848a8c -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b c773074f_07b6_08cd_c3ec_75126530b1c5["diffTestSchemasMysql()"] c773074f_07b6_08cd_c3ec_75126530b1c5 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b 71887843_e685_2fe9_f3a7_549f6e355d64["diffTestSchemasSingleStore()"] 71887843_e685_2fe9_f3a7_549f6e355d64 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b bc002c34_a98e_d525_e2d6_5039b1edf66e["diffTestSchemasPushSingleStore()"] bc002c34_a98e_d525_e2d6_5039b1edf66e -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b cf9722d5_e3b3_fa2b_488c_913fd17a2e54["applySingleStoreDiffs()"] cf9722d5_e3b3_fa2b_488c_913fd17a2e54 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b cb68215e_fbbc_c2e1_0cbe_6e65ee0bd145["diffTestSchemasPushSqlite()"] cb68215e_fbbc_c2e1_0cbe_6e65ee0bd145 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b 68ca323e_4506_d486_b587_96a21ba359f3["diffTestSchemasPushLibSQL()"] 68ca323e_4506_d486_b587_96a21ba359f3 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b 0edb9fbe_a5ec_9995_347a_9ea655353950["applySqliteDiffs()"] 0edb9fbe_a5ec_9995_347a_9ea655353950 -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b bf733442_f700_0747_b445_7417f19f76ae["applyLibSQLDiffs()"] bf733442_f700_0747_b445_7417f19f76ae -->|calls| fd1b2256_62ed_ec7e_c677_9d8cbf56136b style fd1b2256_62ed_ec7e_c677_9d8cbf56136b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/tests/schemaDiffer.ts lines 324–398
export const testTablesResolver = (renames: Set<string>) =>
async (
input: ResolverInput<Table>,
): Promise<ResolverOutputWithMoved<Table>> => {
try {
if (
input.created.length === 0
|| input.deleted.length === 0
|| renames.size === 0
) {
return {
created: input.created,
moved: [],
renamed: [],
deleted: input.deleted,
};
}
let createdTables = [...input.created];
let deletedTables = [...input.deleted];
const result: {
created: Table[];
moved: { name: string; schemaFrom: string; schemaTo: string }[];
renamed: { from: Table; to: Table }[];
deleted: Table[];
} = { created: [], renamed: [], deleted: [], moved: [] };
for (let rename of renames) {
const [from, to] = rename.split('->');
const idxFrom = deletedTables.findIndex((it) => {
return `${it.schema || 'public'}.${it.name}` === from;
});
if (idxFrom >= 0) {
const idxTo = createdTables.findIndex((it) => {
return `${it.schema || 'public'}.${it.name}` === to;
});
const tableFrom = deletedTables[idxFrom];
const tableTo = createdTables[idxFrom];
if (tableFrom.schema !== tableTo.schema) {
result.moved.push({
name: tableFrom.name,
schemaFrom: tableFrom.schema,
schemaTo: tableTo.schema,
});
}
if (tableFrom.name !== tableTo.name) {
result.renamed.push({
from: deletedTables[idxFrom],
to: createdTables[idxTo],
});
}
delete createdTables[idxTo];
delete deletedTables[idxFrom];
createdTables = createdTables.filter(Boolean);
deletedTables = deletedTables.filter(Boolean);
}
}
result.created = createdTables;
result.deleted = deletedTables;
return result;
} catch (e) {
console.error(e);
throw e;
}
};
Domain
Subdomains
Defined In
Called By
- applyLibSQLDiffs()
- applyMySqlDiffs()
- applyPgDiffs()
- applySingleStoreDiffs()
- applySqliteDiffs()
- diffTestSchemas()
- diffTestSchemasLibSQL()
- diffTestSchemasMysql()
- diffTestSchemasPush()
- diffTestSchemasPushLibSQL()
- diffTestSchemasPushMysql()
- diffTestSchemasPushSingleStore()
- diffTestSchemasPushSqlite()
- diffTestSchemasSingleStore()
- diffTestSchemasSqlite()
- introspectLibSQLToFile()
- introspectMySQLToFile()
- introspectPgToFile()
- introspectSQLiteToFile()
- introspectSingleStoreToFile()
Source
Frequently Asked Questions
What does testTablesResolver() do?
testTablesResolver() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is testTablesResolver() defined?
testTablesResolver() is defined in drizzle-kit/tests/schemaDiffer.ts at line 324.
What calls testTablesResolver()?
testTablesResolver() is called by 20 function(s): applyLibSQLDiffs, applyMySqlDiffs, applyPgDiffs, applySingleStoreDiffs, applySqliteDiffs, diffTestSchemas, diffTestSchemasLibSQL, diffTestSchemasMysql, and 12 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free