migrationPreparator.ts — drizzle-orm Source File
Architecture documentation for migrationPreparator.ts, a typescript file in the drizzle-orm codebase. 17 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 4078709f_3fc0_5514_7728_8f28a7b0e807["migrationPreparator.ts"] 9135e6b6_37f7_c980_ee35_90f5531de5a4["common.ts"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> 9135e6b6_37f7_c980_ee35_90f5531de5a4 0870fa3b_07a8_6547_8461_71560fba51e9["CasingType"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> 0870fa3b_07a8_6547_8461_71560fba51e9 c3eb904f_5390_9c0d_4b12_54d182c5f8c9["index.ts"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> c3eb904f_5390_9c0d_4b12_54d182c5f8c9 28658aa5_a9ca_196c_cf25_5227ba3e8e36["serializeMySql"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> 28658aa5_a9ca_196c_cf25_5227ba3e8e36 dd36a37c_7a7b_0f61_31c0_b6a9f9c621ef["serializePg"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> dd36a37c_7a7b_0f61_31c0_b6a9f9c621ef 89b7ba7c_6d44_6830_1256_8740e8b6838e["serializeSingleStore"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> 89b7ba7c_6d44_6830_1256_8740e8b6838e 635252db_7a68_131f_350d_60c2806f943d["serializeSQLite"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> 635252db_7a68_131f_350d_60c2806f943d f2ee16c1_40e6_43f3_15b2_c391a3ac170b["mysqlSchema.ts"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> f2ee16c1_40e6_43f3_15b2_c391a3ac170b b8ffbc78_4812_3db2_2657_70d0793f7d8e["MySqlSchema"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> b8ffbc78_4812_3db2_2657_70d0793f7d8e cbf63853_6723_30fc_5ded_88a8944f77c4["pgSchema.ts"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> cbf63853_6723_30fc_5ded_88a8944f77c4 b5617e13_ea8f_6fe9_4a65_de1491ad2dee["PgSchema"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> b5617e13_ea8f_6fe9_4a65_de1491ad2dee d63c81a6_6779_4926_bffe_7351e12a4301["singlestoreSchema.ts"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> d63c81a6_6779_4926_bffe_7351e12a4301 5d7af7c9_2397_c936_d48c_184fefbb0f58["SingleStoreSchema"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> 5d7af7c9_2397_c936_d48c_184fefbb0f58 03c276d3_0efe_66e2_9ba9_e67edbf29418["sqliteSchema.ts"] 4078709f_3fc0_5514_7728_8f28a7b0e807 --> 03c276d3_0efe_66e2_9ba9_e67edbf29418 style 4078709f_3fc0_5514_7728_8f28a7b0e807 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { randomUUID } from 'crypto';
import fs from 'fs';
import { CasingType } from './cli/validations/common';
import { serializeMySql, serializePg, serializeSingleStore, serializeSQLite } from './serializer';
import { dryMySql, MySqlSchema, mysqlSchema } from './serializer/mysqlSchema';
import { dryPg, PgSchema, pgSchema } from './serializer/pgSchema';
import { drySingleStore, SingleStoreSchema, singlestoreSchema } from './serializer/singlestoreSchema';
import { drySQLite, SQLiteSchema, sqliteSchema } from './serializer/sqliteSchema';
export const prepareMySqlDbPushSnapshot = async (
prev: MySqlSchema,
schemaPath: string | string[],
casing: CasingType | undefined,
): Promise<{ prev: MySqlSchema; cur: MySqlSchema }> => {
const serialized = await serializeMySql(schemaPath, casing);
const id = randomUUID();
const idPrev = prev.id;
const { version, dialect, ...rest } = serialized;
const result: MySqlSchema = { version, dialect, id, prevId: idPrev, ...rest };
return { prev, cur: result };
};
export const prepareSingleStoreDbPushSnapshot = async (
prev: SingleStoreSchema,
schemaPath: string | string[],
casing: CasingType | undefined,
): Promise<{ prev: SingleStoreSchema; cur: SingleStoreSchema }> => {
const serialized = await serializeSingleStore(schemaPath, casing);
const id = randomUUID();
const idPrev = prev.id;
const { version, dialect, ...rest } = serialized;
const result: SingleStoreSchema = { version, dialect, id, prevId: idPrev, ...rest };
return { prev, cur: result };
};
export const prepareSQLiteDbPushSnapshot = async (
prev: SQLiteSchema,
schemaPath: string | string[],
casing: CasingType | undefined,
): Promise<{ prev: SQLiteSchema; cur: SQLiteSchema }> => {
const serialized = await serializeSQLite(schemaPath, casing);
const id = randomUUID();
const idPrev = prev.id;
const { version, dialect, ...rest } = serialized;
const result: SQLiteSchema = {
version,
dialect,
id,
prevId: idPrev,
...rest,
};
// ... (149 more lines)
Domain
Subdomains
Functions
Dependencies
Imported By
Source
Frequently Asked Questions
What does migrationPreparator.ts do?
migrationPreparator.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain, SnapshotSerializer subdomain.
What functions are defined in migrationPreparator.ts?
migrationPreparator.ts defines 9 function(s): prepareMySqlDbPushSnapshot, prepareMySqlMigrationSnapshot, preparePgDbPushSnapshot, preparePgMigrationSnapshot, preparePrevSnapshot, prepareSQLiteDbPushSnapshot, prepareSingleStoreDbPushSnapshot, prepareSingleStoreMigrationSnapshot, prepareSqliteMigrationSnapshot.
What does migrationPreparator.ts depend on?
migrationPreparator.ts imports 17 module(s): CasingType, MySqlSchema, PgSchema, SQLiteSchema, SingleStoreSchema, common.ts, crypto, fs, and 9 more.
What files import migrationPreparator.ts?
migrationPreparator.ts is imported by 1 file(s): migrate.ts.
Where is migrationPreparator.ts in the architecture?
migrationPreparator.ts is located at drizzle-kit/src/migrationPreparator.ts (domain: DrizzleKit, subdomain: SnapshotSerializer, directory: drizzle-kit/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free