getTableConfig() — drizzle-orm Function Reference
Architecture documentation for the getTableConfig() function in utils.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 0efad3f6_35bb_0eb1_4b1f_f65bc9fb28f8["getTableConfig()"] ce49a5a3_688d_ddce_fd32_28428e51cae2["utils.ts"] 0efad3f6_35bb_0eb1_4b1f_f65bc9fb28f8 -->|defined in| ce49a5a3_688d_ddce_fd32_28428e51cae2 185bf7ca_eb1a_b3b0_8cab_b4788416ad2a["build()"] 0efad3f6_35bb_0eb1_4b1f_f65bc9fb28f8 -->|calls| 185bf7ca_eb1a_b3b0_8cab_b4788416ad2a style 0efad3f6_35bb_0eb1_4b1f_f65bc9fb28f8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/pg-core/utils.ts lines 19–65
export function getTableConfig<TTable extends PgTable>(table: TTable) {
const columns = Object.values(table[Table.Symbol.Columns]);
const indexes: Index[] = [];
const checks: Check[] = [];
const primaryKeys: PrimaryKey[] = [];
const foreignKeys: ForeignKey[] = Object.values(table[PgTable.Symbol.InlineForeignKeys]);
const uniqueConstraints: UniqueConstraint[] = [];
const name = table[Table.Symbol.Name];
const schema = table[Table.Symbol.Schema];
const policies: PgPolicy[] = [];
const enableRLS: boolean = table[PgTable.Symbol.EnableRLS];
const extraConfigBuilder = table[PgTable.Symbol.ExtraConfigBuilder];
if (extraConfigBuilder !== undefined) {
const extraConfig = extraConfigBuilder(table[Table.Symbol.ExtraConfigColumns]);
const extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);
for (const builder of extraValues) {
if (is(builder, IndexBuilder)) {
indexes.push(builder.build(table));
} else if (is(builder, CheckBuilder)) {
checks.push(builder.build(table));
} else if (is(builder, UniqueConstraintBuilder)) {
uniqueConstraints.push(builder.build(table));
} else if (is(builder, PrimaryKeyBuilder)) {
primaryKeys.push(builder.build(table));
} else if (is(builder, ForeignKeyBuilder)) {
foreignKeys.push(builder.build(table));
} else if (is(builder, PgPolicy)) {
policies.push(builder);
}
}
}
return {
columns,
indexes,
foreignKeys,
checks,
primaryKeys,
uniqueConstraints,
name,
schema,
policies,
enableRLS,
};
}
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does getTableConfig() do?
getTableConfig() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/utils.ts.
Where is getTableConfig() defined?
getTableConfig() is defined in drizzle-orm/src/pg-core/utils.ts at line 19.
What does getTableConfig() call?
getTableConfig() calls 1 function(s): build.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free