generateMySqlSnapshot() — drizzle-orm Function Reference
Architecture documentation for the generateMySqlSnapshot() function in mysqlSerializer.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD d8d7539a_23af_4a3d_91f6_f60bb60e4c38["generateMySqlSnapshot()"] 1f633f0f_d981_8483_0b8f_fbabf0333ced["mysqlSerializer.ts"] d8d7539a_23af_4a3d_91f6_f60bb60e4c38 -->|defined in| 1f633f0f_d981_8483_0b8f_fbabf0333ced 0b2b83dd_9eb0_046b_3c8a_c644b899f7d0["generateMySQLDrizzleJson()"] 0b2b83dd_9eb0_046b_3c8a_c644b899f7d0 -->|calls| d8d7539a_23af_4a3d_91f6_f60bb60e4c38 0f6bcec9_496e_3388_a2d6_2f3af1e12d53["getColumnCasing()"] d8d7539a_23af_4a3d_91f6_f60bb60e4c38 -->|calls| 0f6bcec9_496e_3388_a2d6_2f3af1e12d53 b330e594_2e4f_be5c_50e0_07641c420054["handleEnumType()"] d8d7539a_23af_4a3d_91f6_f60bb60e4c38 -->|calls| b330e594_2e4f_be5c_50e0_07641c420054 5de2ec9b_64d7_f004_04c1_e08f9695c862["sqlToStr()"] d8d7539a_23af_4a3d_91f6_f60bb60e4c38 -->|calls| 5de2ec9b_64d7_f004_04c1_e08f9695c862 6a0cfd17_5e20_42bb_3596_ae02093b0fda["escapeSingleQuotes()"] d8d7539a_23af_4a3d_91f6_f60bb60e4c38 -->|calls| 6a0cfd17_5e20_42bb_3596_ae02093b0fda style d8d7539a_23af_4a3d_91f6_f60bb60e4c38 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/src/serializer/mysqlSerializer.ts lines 43–541
export const generateMySqlSnapshot = (
tables: AnyMySqlTable[],
views: MySqlView[],
casing: CasingType | undefined,
): MySqlSchemaInternal => {
const dialect = new MySqlDialect({ casing });
const result: Record<string, Table> = {};
const resultViews: Record<string, View> = {};
const internal: MySqlKitInternals = { tables: {}, indexes: {} };
for (const table of tables) {
const {
name: tableName,
columns,
indexes,
foreignKeys,
schema,
checks,
primaryKeys,
uniqueConstraints,
} = getTableConfig(table);
const columnsObject: Record<string, Column> = {};
const indexesObject: Record<string, Index> = {};
const foreignKeysObject: Record<string, ForeignKey> = {};
const primaryKeysObject: Record<string, PrimaryKey> = {};
const uniqueConstraintObject: Record<string, UniqueConstraint> = {};
const checkConstraintObject: Record<string, CheckConstraint> = {};
// this object will help to identify same check names
let checksInTable: Record<string, string[]> = {};
columns.forEach((column) => {
const name = getColumnCasing(column, casing);
const notNull: boolean = column.notNull;
const sqlType = column.getSQLType();
const sqlTypeLowered = sqlType.toLowerCase();
const autoIncrement = typeof (column as any).autoIncrement === 'undefined'
? false
: (column as any).autoIncrement;
const generated = column.generated;
const columnToSet: Column = {
name,
type: sqlType.startsWith('enum') ? handleEnumType(sqlType) : sqlType,
primaryKey: false,
// If field is autoincrement it's notNull by default
// notNull: autoIncrement ? true : notNull,
notNull,
autoincrement: autoIncrement,
onUpdate: (column as any).hasOnUpdateNow,
generated: generated
? {
as: is(generated.as, SQL)
? dialect.sqlToQuery(generated.as as SQL).sql
: typeof generated.as === 'function'
? dialect.sqlToQuery(generated.as() as SQL).sql
: (generated.as as any),
type: generated.mode ?? 'stored',
}
: undefined,
};
if (column.primary) {
primaryKeysObject[`${tableName}_${name}`] = {
name: `${tableName}_${name}`,
columns: [name],
};
}
if (column.isUnique) {
const existingUnique = uniqueConstraintObject[column.uniqueName!];
if (typeof existingUnique !== 'undefined') {
console.log(
`\n${
withStyle.errorWarning(`We\'ve found duplicated unique constraint names in ${
chalk.underline.blue(
tableName,
)
} table.
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does generateMySqlSnapshot() do?
generateMySqlSnapshot() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/serializer/mysqlSerializer.ts.
Where is generateMySqlSnapshot() defined?
generateMySqlSnapshot() is defined in drizzle-kit/src/serializer/mysqlSerializer.ts at line 43.
What does generateMySqlSnapshot() call?
generateMySqlSnapshot() calls 4 function(s): escapeSingleQuotes, getColumnCasing, handleEnumType, sqlToStr.
What calls generateMySqlSnapshot()?
generateMySqlSnapshot() is called by 1 function(s): generateMySQLDrizzleJson.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free