Home / Function/ generateSqliteSnapshot() — drizzle-orm Function Reference

generateSqliteSnapshot() — drizzle-orm Function Reference

Architecture documentation for the generateSqliteSnapshot() function in sqliteSerializer.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  547c33e2_896d_de19_046b_9efd4ec9f8b7["generateSqliteSnapshot()"]
  8e6879a2_2b61_04aa_8765_25bc6cfe77be["sqliteSerializer.ts"]
  547c33e2_896d_de19_046b_9efd4ec9f8b7 -->|defined in| 8e6879a2_2b61_04aa_8765_25bc6cfe77be
  116b704a_4069_7b7b_bc9f_8c24642fc375["generateSQLiteDrizzleJson()"]
  116b704a_4069_7b7b_bc9f_8c24642fc375 -->|calls| 547c33e2_896d_de19_046b_9efd4ec9f8b7
  0f6bcec9_496e_3388_a2d6_2f3af1e12d53["getColumnCasing()"]
  547c33e2_896d_de19_046b_9efd4ec9f8b7 -->|calls| 0f6bcec9_496e_3388_a2d6_2f3af1e12d53
  5de2ec9b_64d7_f004_04c1_e08f9695c862["sqlToStr()"]
  547c33e2_896d_de19_046b_9efd4ec9f8b7 -->|calls| 5de2ec9b_64d7_f004_04c1_e08f9695c862
  6a0cfd17_5e20_42bb_3596_ae02093b0fda["escapeSingleQuotes()"]
  547c33e2_896d_de19_046b_9efd4ec9f8b7 -->|calls| 6a0cfd17_5e20_42bb_3596_ae02093b0fda
  style 547c33e2_896d_de19_046b_9efd4ec9f8b7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/serializer/sqliteSerializer.ts lines 31–411

export const generateSqliteSnapshot = (
	tables: AnySQLiteTable[],
	views: SQLiteView[],
	casing: CasingType | undefined,
): SQLiteSchemaInternal => {
	const dialect = new SQLiteSyncDialect({ casing });
	const result: Record<string, Table> = {};
	const resultViews: Record<string, View> = {};

	const internal: SQLiteKitInternals = { indexes: {} };
	for (const table of tables) {
		// const tableName = getTableName(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> = {};

		const checksInTable: Record<string, string[]> = {};

		const {
			name: tableName,
			columns,
			indexes,
			checks,
			foreignKeys: tableForeignKeys,
			primaryKeys,
			uniqueConstraints,
		} = getTableConfig(table);

		columns.forEach((column) => {
			const name = getColumnCasing(column, casing);
			const notNull: boolean = column.notNull;
			const primaryKey: boolean = column.primary;
			const generated = column.generated;

			const columnToSet: Column = {
				name,
				type: column.getSQLType(),
				primaryKey,
				notNull,
				autoincrement: is(column, SQLiteBaseInteger)
					? column.autoIncrement
					: false,
				generated: generated
					? {
						as: is(generated.as, SQL)
							? `(${dialect.sqlToQuery(generated.as as SQL, 'indexes').sql})`
							: typeof generated.as === 'function'
							? `(${dialect.sqlToQuery(generated.as() as SQL, 'indexes').sql})`
							: `(${generated.as as any})`,
						type: generated.mode ?? 'virtual',
					}
					: undefined,
			};

			if (column.default !== undefined) {
				if (is(column.default, SQL)) {
					columnToSet.default = sqlToStr(column.default, casing);
				} else {
					columnToSet.default = typeof column.default === 'string'
						? `'${escapeSingleQuotes(column.default)}'`
						: typeof column.default === 'object'
								|| Array.isArray(column.default)
						? `'${JSON.stringify(column.default)}'`
						: column.default;
				}
			}
			columnsObject[name] = columnToSet;

			if (column.isUnique) {
				const existingUnique = indexesObject[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

Frequently Asked Questions

What does generateSqliteSnapshot() do?
generateSqliteSnapshot() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/serializer/sqliteSerializer.ts.
Where is generateSqliteSnapshot() defined?
generateSqliteSnapshot() is defined in drizzle-kit/src/serializer/sqliteSerializer.ts at line 31.
What does generateSqliteSnapshot() call?
generateSqliteSnapshot() calls 3 function(s): escapeSingleQuotes, getColumnCasing, sqlToStr.
What calls generateSqliteSnapshot()?
generateSqliteSnapshot() is called by 1 function(s): generateSQLiteDrizzleJson.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free