preparePostgresDB() — drizzle-orm Function Reference
Architecture documentation for the preparePostgresDB() function in connections.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD d0c98355_f777_982a_dbcd_e18794db3458["preparePostgresDB()"] 4e02c2bb_54a8_1500_813e_2cafd1ad4f59["connections.ts"] d0c98355_f777_982a_dbcd_e18794db3458 -->|defined in| 4e02c2bb_54a8_1500_813e_2cafd1ad4f59 773f4a96_2112_a02f_6216_ecef4a99527a["assertPackages()"] d0c98355_f777_982a_dbcd_e18794db3458 -->|calls| 773f4a96_2112_a02f_6216_ecef4a99527a 1cce4157_49ff_47a7_1088_5446d4c9a3be["normalisePGliteUrl()"] d0c98355_f777_982a_dbcd_e18794db3458 -->|calls| 1cce4157_49ff_47a7_1088_5446d4c9a3be 53e6fb89_37aa_cd9c_f6a3_9e6175c0f764["preparePGliteParams()"] d0c98355_f777_982a_dbcd_e18794db3458 -->|calls| 53e6fb89_37aa_cd9c_f6a3_9e6175c0f764 071bfc71_ad06_c0c4_cba2_360298dd4b47["assertUnreachable()"] d0c98355_f777_982a_dbcd_e18794db3458 -->|calls| 071bfc71_ad06_c0c4_cba2_360298dd4b47 7aefe3aa_a868_e43f_09eb_fcf0004526d1["checkPackage()"] d0c98355_f777_982a_dbcd_e18794db3458 -->|calls| 7aefe3aa_a868_e43f_09eb_fcf0004526d1 style d0c98355_f777_982a_dbcd_e18794db3458 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/cli/connections.ts lines 28–534
export const preparePostgresDB = async (
credentials: PostgresCredentials | {
driver: 'pglite';
client: PGlite;
},
): Promise<
DB & {
packageName:
| '@aws-sdk/client-rds-data'
| 'pglite'
| 'pg'
| 'postgres'
| '@vercel/postgres'
| '@neondatabase/serverless';
proxy: Proxy;
transactionProxy: TransactionProxy;
migrate: (config: string | MigrationConfig) => Promise<void>;
}
> => {
if ('driver' in credentials) {
const { driver } = credentials;
if (driver === 'aws-data-api') {
assertPackages('@aws-sdk/client-rds-data');
const { RDSDataClient, ExecuteStatementCommand, TypeHint } = await import(
'@aws-sdk/client-rds-data'
);
const { AwsDataApiSession, drizzle } = await import(
'drizzle-orm/aws-data-api/pg'
);
const { migrate } = await import('drizzle-orm/aws-data-api/pg/migrator');
const { PgDialect } = await import('drizzle-orm/pg-core');
const config: AwsDataApiSessionOptions = {
database: credentials.database,
resourceArn: credentials.resourceArn,
secretArn: credentials.secretArn,
};
const rdsClient = new RDSDataClient();
const session = new AwsDataApiSession(
rdsClient,
new PgDialect(),
undefined,
config,
undefined,
);
const db = drizzle(rdsClient, config);
const migrateFn = async (config: MigrationConfig) => {
return migrate(db, config);
};
const query = async (sql: string, params: any[]) => {
const prepared = session.prepareQuery(
{ sql, params: params ?? [] },
undefined,
undefined,
false,
);
const result = await prepared.all();
return result as any[];
};
const proxy = async (params: ProxyParams) => {
const prepared = session.prepareQuery<
PreparedQueryConfig & {
execute: AwsDataApiPgQueryResult<unknown>;
values: AwsDataApiPgQueryResult<unknown[]>;
}
>(
{
sql: params.sql,
params: params.params ?? [],
typings: params.typings,
},
undefined,
undefined,
params.mode === 'array',
);
if (params.mode === 'array') {
const result = await prepared.values();
return result.rows;
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does preparePostgresDB() do?
preparePostgresDB() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/cli/connections.ts.
Where is preparePostgresDB() defined?
preparePostgresDB() is defined in drizzle-kit/src/cli/connections.ts at line 28.
What does preparePostgresDB() call?
preparePostgresDB() calls 5 function(s): assertPackages, assertUnreachable, checkPackage, normalisePGliteUrl, preparePGliteParams.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free