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

generateSingleStoreSnapshot() — drizzle-orm Function Reference

Architecture documentation for the generateSingleStoreSnapshot() function in singlestoreSerializer.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  93c32913_b015_e0e1_4247_f842b1e91d5b["generateSingleStoreSnapshot()"]
  67437259_0670_dcef_f238_9264f0f16394["singlestoreSerializer.ts"]
  93c32913_b015_e0e1_4247_f842b1e91d5b -->|defined in| 67437259_0670_dcef_f238_9264f0f16394
  6bbf7ad1_6052_d345_e9c5_7eda2f0abb09["generateSingleStoreDrizzleJson()"]
  6bbf7ad1_6052_d345_e9c5_7eda2f0abb09 -->|calls| 93c32913_b015_e0e1_4247_f842b1e91d5b
  5de2ec9b_64d7_f004_04c1_e08f9695c862["sqlToStr()"]
  93c32913_b015_e0e1_4247_f842b1e91d5b -->|calls| 5de2ec9b_64d7_f004_04c1_e08f9695c862
  style 93c32913_b015_e0e1_4247_f842b1e91d5b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/serializer/singlestoreSerializer.ts lines 33–411

export const generateSingleStoreSnapshot = (
	tables: AnySingleStoreTable[],
	/* views: SingleStoreView[], */
	casing: CasingType | undefined,
): SingleStoreSchemaInternal => {
	const dialect = new SingleStoreDialect({ casing });
	const result: Record<string, Table> = {};
	/* const resultViews: Record<string, View> = {}; */
	const internal: SingleStoreKitInternals = { tables: {}, indexes: {} };
	for (const table of tables) {
		const {
			name: tableName,
			columns,
			indexes,
			schema,
			primaryKeys,
			uniqueConstraints,
		} = getTableConfig(table);
		const columnsObject: Record<string, Column> = {};
		const indexesObject: Record<string, Index> = {};
		const primaryKeysObject: Record<string, PrimaryKey> = {};
		const uniqueConstraintObject: Record<string, UniqueConstraint> = {};

		columns.forEach((column) => {
			const notNull: boolean = column.notNull;
			const sqlTypeLowered = column.getSQLType().toLowerCase();
			const autoIncrement = typeof (column as any).autoIncrement === 'undefined'
				? false
				: (column as any).autoIncrement;

			const generated = column.generated;

			const columnToSet: Column = {
				name: column.name,
				type: column.getSQLType(),
				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}_${column.name}`] = {
					name: `${tableName}_${column.name}`,
					columns: [column.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. 
          The unique constraint ${
								chalk.underline.blue(
									column.uniqueName,
								)
							} on the ${
								chalk.underline.blue(
									column.name,
								)
							} column is confilcting with a unique constraint name already defined for ${
								chalk.underline.blue(
									existingUnique.columns.join(','),

Domain

Subdomains

Calls

Frequently Asked Questions

What does generateSingleStoreSnapshot() do?
generateSingleStoreSnapshot() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/serializer/singlestoreSerializer.ts.
Where is generateSingleStoreSnapshot() defined?
generateSingleStoreSnapshot() is defined in drizzle-kit/src/serializer/singlestoreSerializer.ts at line 33.
What does generateSingleStoreSnapshot() call?
generateSingleStoreSnapshot() calls 1 function(s): sqlToStr.
What calls generateSingleStoreSnapshot()?
generateSingleStoreSnapshot() is called by 1 function(s): generateSingleStoreDrizzleJson.

Analyze Your Own Codebase

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

Try Supermodel Free