mysqlPush() — drizzle-orm Function Reference
Architecture documentation for the mysqlPush() function in push.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 8ee7c845_c3a4_fbc5_6447_aab21a1f9ef1["mysqlPush()"] 6219550e_1686_ca7a_0d96_0838fb90e7cb["push.ts"] 8ee7c845_c3a4_fbc5_6447_aab21a1f9ef1 -->|defined in| 6219550e_1686_ca7a_0d96_0838fb90e7cb a6191ddf_c119_718d_8adb_1cf1f8e385b3["render()"] 8ee7c845_c3a4_fbc5_6447_aab21a1f9ef1 -->|calls| a6191ddf_c119_718d_8adb_1cf1f8e385b3 f532f7a9_3781_5a3c_9695_e62bd56cabd7["fromJson()"] 8ee7c845_c3a4_fbc5_6447_aab21a1f9ef1 -->|calls| f532f7a9_3781_5a3c_9695_e62bd56cabd7 style 8ee7c845_c3a4_fbc5_6447_aab21a1f9ef1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/cli/commands/push.ts lines 27–164
export const mysqlPush = async (
schemaPath: string | string[],
credentials: MysqlCredentials,
tablesFilter: string[],
strict: boolean,
verbose: boolean,
force: boolean,
casing: CasingType | undefined,
) => {
const { connectToMySQL } = await import('../connections');
const { mysqlPushIntrospect } = await import('./mysqlIntrospect');
const { db, database } = await connectToMySQL(credentials);
const { schema } = await mysqlPushIntrospect(db, database, tablesFilter);
const { prepareMySQLPush } = await import('./migrate');
const statements = await prepareMySQLPush(schemaPath, schema, casing);
const filteredStatements = mySqlFilterStatements(
statements.statements ?? [],
statements.validatedCur,
statements.validatedPrev,
);
try {
if (filteredStatements.length === 0) {
render(`[${chalk.blue('i')}] No changes detected`);
} else {
const {
shouldAskForApprove,
statementsToExecute,
columnsToRemove,
tablesToRemove,
tablesToTruncate,
infoToPrint,
} = await mySqlLogSuggestionsAndReturn(
db,
filteredStatements,
statements.validatedCur,
);
const filteredSqlStatements = fromJson(filteredStatements, 'mysql');
const uniqueSqlStatementsToExecute: string[] = [];
statementsToExecute.forEach((ss) => {
if (!uniqueSqlStatementsToExecute.includes(ss)) {
uniqueSqlStatementsToExecute.push(ss);
}
});
const uniqueFilteredSqlStatements: string[] = [];
filteredSqlStatements.forEach((ss) => {
if (!uniqueFilteredSqlStatements.includes(ss)) {
uniqueFilteredSqlStatements.push(ss);
}
});
if (verbose) {
console.log();
console.log(
withStyle.warning('You are about to execute current statements:'),
);
console.log();
console.log(
[...uniqueSqlStatementsToExecute, ...uniqueFilteredSqlStatements]
.map((s) => chalk.blue(s))
.join('\n'),
);
console.log();
}
if (!force && strict) {
if (!shouldAskForApprove) {
const { status, data } = await render(
new Select(['No, abort', `Yes, I want to execute all statements`]),
);
if (data?.index === 0) {
render(`[${chalk.red('x')}] All changes were aborted`);
process.exit(0);
}
}
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does mysqlPush() do?
mysqlPush() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/cli/commands/push.ts.
Where is mysqlPush() defined?
mysqlPush() is defined in drizzle-kit/src/cli/commands/push.ts at line 27.
What does mysqlPush() call?
mysqlPush() calls 2 function(s): fromJson, render.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free