push.ts — drizzle-orm Source File
Architecture documentation for push.ts, a typescript file in the drizzle-orm codebase. 32 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 6219550e_1686_ca7a_0d96_0838fb90e7cb["push.ts"] fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> fe4174c7_3b9c_5b26_98a0_b2395ca21939 f532f7a9_3781_5a3c_9695_e62bd56cabd7["fromJson"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> f532f7a9_3781_5a3c_9695_e62bd56cabd7 78dc1315_e71e_ad0d_dd8e_8ff968c12ee5["selector-ui.ts"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> 78dc1315_e71e_ad0d_dd8e_8ff968c12ee5 9934e2c6_9f05_2845_f34b_12d10c0c69f6["Select"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> 9934e2c6_9f05_2845_f34b_12d10c0c69f6 ce0519f7_91ef_9fe5_de1a_968bd9acd812["cli.ts"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> ce0519f7_91ef_9fe5_de1a_968bd9acd812 99e32ba0_ce20_d8b4_a1e9_b7a00baa9413["Entities"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> 99e32ba0_ce20_d8b4_a1e9_b7a00baa9413 9135e6b6_37f7_c980_ee35_90f5531de5a4["common.ts"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> 9135e6b6_37f7_c980_ee35_90f5531de5a4 0870fa3b_07a8_6547_8461_71560fba51e9["CasingType"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> 0870fa3b_07a8_6547_8461_71560fba51e9 06060c75_d281_2312_e011_483025ec5bdf["libsql.ts"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> 06060c75_d281_2312_e011_483025ec5bdf 1bfa7e93_7448_d7f8_6ad8_b360047cf886["LibSQLCredentials"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> 1bfa7e93_7448_d7f8_6ad8_b360047cf886 d81f4f07_7d2c_ea3f_392e_6be6055ba361["mysql.ts"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> d81f4f07_7d2c_ea3f_392e_6be6055ba361 502fb53b_89d2_ec40_3a24_f05850833f68["outputs.ts"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> 502fb53b_89d2_ec40_3a24_f05850833f68 aa34baa9_cce1_f1d8_4227_98c889d76b37["postgres.ts"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> aa34baa9_cce1_f1d8_4227_98c889d76b37 f65d82f8_85a1_d127_5f91_94b02851c72a["singlestore.ts"] 6219550e_1686_ca7a_0d96_0838fb90e7cb --> f65d82f8_85a1_d127_5f91_94b02851c72a style 6219550e_1686_ca7a_0d96_0838fb90e7cb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import chalk from 'chalk';
import { randomUUID } from 'crypto';
import { render } from 'hanji';
import { serializePg } from 'src/serializer';
import { fromJson } from '../../sqlgenerator';
import { Select } from '../selector-ui';
import { Entities } from '../validations/cli';
import { CasingType } from '../validations/common';
import { LibSQLCredentials } from '../validations/libsql';
import type { MysqlCredentials } from '../validations/mysql';
import { withStyle } from '../validations/outputs';
import type { PostgresCredentials } from '../validations/postgres';
import { SingleStoreCredentials } from '../validations/singlestore';
import type { SqliteCredentials } from '../validations/sqlite';
import { libSqlLogSuggestionsAndReturn } from './libSqlPushUtils';
import {
filterStatements as mySqlFilterStatements,
logSuggestionsAndReturn as mySqlLogSuggestionsAndReturn,
} from './mysqlPushUtils';
import { pgSuggestions } from './pgPushUtils';
import {
filterStatements as singleStoreFilterStatements,
logSuggestionsAndReturn as singleStoreLogSuggestionsAndReturn,
} from './singlestorePushUtils';
import { logSuggestionsAndReturn as sqliteSuggestions } from './sqlitePushUtils';
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,
// ... (580 more lines)
Domain
Subdomains
Dependencies
- CasingType
- Entities
- LibSQLCredentials
- Select
- SingleStoreCredentials
- chalk
- cli.ts
- common.ts
- crypto
- filterStatements
- filterStatements
- fromJson
- hanji
- libSqlLogSuggestionsAndReturn
- libSqlPushUtils.ts
- libsql.ts
- logSuggestionsAndReturn
- logSuggestionsAndReturn
- logSuggestionsAndReturn
- mysql.ts
- mysqlPushUtils.ts
- outputs.ts
- pgPushUtils.ts
- pgSuggestions
- postgres.ts
- selector-ui.ts
- serializer
- singlestore.ts
- singlestorePushUtils.ts
- sqlgenerator.ts
- sqlite.ts
- sqlitePushUtils.ts
Source
Frequently Asked Questions
What does push.ts do?
push.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain, CLIWorkflow subdomain.
What functions are defined in push.ts?
push.ts defines 5 function(s): libSQLPush, mysqlPush, pgPush, singlestorePush, sqlitePush.
What does push.ts depend on?
push.ts imports 32 module(s): CasingType, Entities, LibSQLCredentials, Select, SingleStoreCredentials, chalk, cli.ts, common.ts, and 24 more.
Where is push.ts in the architecture?
push.ts is located at drizzle-kit/src/cli/commands/push.ts (domain: DrizzleKit, subdomain: CLIWorkflow, directory: drizzle-kit/src/cli/commands).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free