construct() — drizzle-orm Function Reference
Architecture documentation for the construct() function in driver.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 3ba40f9b_b633_3516_3344_288f45fb5891["construct()"] b80e0b43_b72d_90f7_a9b9_73f6d40500bd["driver.ts"] 3ba40f9b_b633_3516_3344_288f45fb5891 -->|defined in| b80e0b43_b72d_90f7_a9b9_73f6d40500bd ce7be1b5_4965_6e99_7398_e412931d3cab["drizzle()"] ce7be1b5_4965_6e99_7398_e412931d3cab -->|calls| 3ba40f9b_b633_3516_3344_288f45fb5891 101aed20_4cb9_8d09_00e2_37217334f97b["mock()"] 101aed20_4cb9_8d09_00e2_37217334f97b -->|calls| 3ba40f9b_b633_3516_3344_288f45fb5891 ce7be1b5_4965_6e99_7398_e412931d3cab["drizzle()"] 3ba40f9b_b633_3516_3344_288f45fb5891 -->|calls| ce7be1b5_4965_6e99_7398_e412931d3cab style 3ba40f9b_b633_3516_3344_288f45fb5891 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/planetscale-serverless/driver.ts lines 29–85
function construct<
TSchema extends Record<string, unknown> = Record<string, never>,
TClient extends Client = Client,
>(
client: TClient,
config: DrizzleConfig<TSchema> = {},
): PlanetScaleDatabase<TSchema> & {
$client: TClient;
} {
// Client is not Drizzle Object, so we can ignore this rule here
// eslint-disable-next-line no-instanceof/no-instanceof
if (!(client instanceof Client)) {
throw new Error(`Warning: You need to pass an instance of Client:
import { Client } from "@planetscale/database";
const client = new Client({
host: process.env["DATABASE_HOST"],
username: process.env["DATABASE_USERNAME"],
password: process.env["DATABASE_PASSWORD"],
});
const db = drizzle(client);
`);
}
const dialect = new MySqlDialect({ casing: config.casing });
let logger;
if (config.logger === true) {
logger = new DefaultLogger();
} else if (config.logger !== false) {
logger = config.logger;
}
let schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;
if (config.schema) {
const tablesConfig = extractTablesRelationalConfig(
config.schema,
createTableRelationsHelpers,
);
schema = {
fullSchema: config.schema,
schema: tablesConfig.tables,
tableNamesMap: tablesConfig.tableNamesMap,
};
}
const session = new PlanetscaleSession(client, dialect, undefined, schema, { logger, cache: config.cache });
const db = new PlanetScaleDatabase(dialect, session, schema as any, 'planetscale') as PlanetScaleDatabase<TSchema>;
(<any> db).$client = client;
(<any> db).$cache = config.cache;
if ((<any> db).$cache) {
(<any> db).$cache['invalidate'] = config.cache?.onMutate;
}
return db as any;
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does construct() do?
construct() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/planetscale-serverless/driver.ts.
Where is construct() defined?
construct() is defined in drizzle-orm/src/planetscale-serverless/driver.ts at line 29.
What does construct() call?
construct() calls 1 function(s): drizzle.
What calls construct()?
construct() is called by 2 function(s): drizzle, mock.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free