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

column() — drizzle-orm Function Reference

Architecture documentation for the column() function in introspect-singlestore.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  51947dfa_bae7_cdae_5f83_f8740592d45b["column()"]
  c6b71380_9588_5d06_58bb_e4dc7e505759["introspect-singlestore.ts"]
  51947dfa_bae7_cdae_5f83_f8740592d45b -->|defined in| c6b71380_9588_5d06_58bb_e4dc7e505759
  ecce782a_234d_9dbf_0972_914296b25906["createTableColumns()"]
  ecce782a_234d_9dbf_0972_914296b25906 -->|calls| 51947dfa_bae7_cdae_5f83_f8740592d45b
  3198552d_7ece_47e9_4704_b60863bbacb9["dbColumnName()"]
  51947dfa_bae7_cdae_5f83_f8740592d45b -->|calls| 3198552d_7ece_47e9_4704_b60863bbacb9
  9c2f8f2d_a797_7512_29f6_4b3160dfbd73["mapColumnDefault()"]
  51947dfa_bae7_cdae_5f83_f8740592d45b -->|calls| 9c2f8f2d_a797_7512_29f6_4b3160dfbd73
  de3bf7e0_a95c_da8d_3f2e_ace8cc411884["timeConfig()"]
  51947dfa_bae7_cdae_5f83_f8740592d45b -->|calls| de3bf7e0_a95c_da8d_3f2e_ace8cc411884
  79e59345_6ae7_98b6_67b7_959c60aeea75["mapColumnDefaultForJson()"]
  51947dfa_bae7_cdae_5f83_f8740592d45b -->|calls| 79e59345_6ae7_98b6_67b7_959c60aeea75
  f3f4dfe9_d601_3d36_eb03_71d80ddbbb4a["binaryConfig()"]
  51947dfa_bae7_cdae_5f83_f8740592d45b -->|calls| f3f4dfe9_d601_3d36_eb03_71d80ddbbb4a
  3f77ceeb_5cb4_323c_a4f0_3072315e5aa1["camelCase()"]
  51947dfa_bae7_cdae_5f83_f8740592d45b -->|calls| 3f77ceeb_5cb4_323c_a4f0_3072315e5aa1
  style 51947dfa_bae7_cdae_5f83_f8740592d45b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/introspect-singlestore.ts lines 361–796

const column = (
	type: string,
	name: string,
	casing: (value: string) => string,
	rawCasing: Casing,
	defaultValue?: any,
	autoincrement?: boolean,
	onUpdate?: boolean,
	isExpression?: boolean,
) => {
	let lowered = type;
	if (!type.startsWith('enum(')) {
		lowered = type.toLowerCase();
	}

	if (lowered === 'serial') {
		return `${casing(name)}: serial(${dbColumnName({ name, casing: rawCasing })})`;
	}

	if (lowered.startsWith('int')) {
		const isUnsigned = lowered.includes('unsigned');
		const columnName = dbColumnName({ name, casing: rawCasing, withMode: isUnsigned });
		let out = `${casing(name)}: int(${columnName}${isUnsigned ? '{ unsigned: true }' : ''})`;
		out += autoincrement ? `.autoincrement()` : '';
		out += typeof defaultValue !== 'undefined'
			? `.default(${mapColumnDefault(defaultValue, isExpression)})`
			: '';
		return out;
	}

	if (lowered.startsWith('tinyint')) {
		const isUnsigned = lowered.includes('unsigned');
		const columnName = dbColumnName({ name, casing: rawCasing, withMode: isUnsigned });
		let out: string = `${casing(name)}: tinyint(${columnName}${isUnsigned ? '{ unsigned: true }' : ''})`;
		out += autoincrement ? `.autoincrement()` : '';
		out += typeof defaultValue !== 'undefined'
			? `.default(${mapColumnDefault(defaultValue, isExpression)})`
			: '';
		return out;
	}

	if (lowered.startsWith('smallint')) {
		const isUnsigned = lowered.includes('unsigned');
		const columnName = dbColumnName({ name, casing: rawCasing, withMode: isUnsigned });
		let out = `${casing(name)}: smallint(${columnName}${isUnsigned ? '{ unsigned: true }' : ''})`;
		out += autoincrement ? `.autoincrement()` : '';
		out += defaultValue
			? `.default(${mapColumnDefault(defaultValue, isExpression)})`
			: '';
		return out;
	}

	if (lowered.startsWith('mediumint')) {
		const isUnsigned = lowered.includes('unsigned');
		const columnName = dbColumnName({ name, casing: rawCasing, withMode: isUnsigned });
		let out = `${casing(name)}: mediumint(${columnName}${isUnsigned ? '{ unsigned: true }' : ''})`;
		out += autoincrement ? `.autoincrement()` : '';
		out += defaultValue
			? `.default(${mapColumnDefault(defaultValue, isExpression)})`
			: '';
		return out;
	}

	if (lowered.startsWith('bigint')) {
		const isUnsigned = lowered.includes('unsigned');
		let out = `${casing(name)}: bigint(${dbColumnName({ name, casing: rawCasing, withMode: true })}{ mode: "number"${
			isUnsigned ? ', unsigned: true' : ''
		} })`;
		out += autoincrement ? `.autoincrement()` : '';
		out += defaultValue
			? `.default(${mapColumnDefault(defaultValue, isExpression)})`
			: '';
		return out;
	}

	if (lowered === 'boolean') {
		let out = `${casing(name)}: boolean(${dbColumnName({ name, casing: rawCasing })})`;
		out += defaultValue
			? `.default(${mapColumnDefault(defaultValue, isExpression)})`
			: '';
		return out;

Domain

Subdomains

Frequently Asked Questions

What does column() do?
column() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/introspect-singlestore.ts.
Where is column() defined?
column() is defined in drizzle-kit/src/introspect-singlestore.ts at line 361.
What does column() call?
column() calls 6 function(s): binaryConfig, camelCase, dbColumnName, mapColumnDefault, mapColumnDefaultForJson, timeConfig.
What calls column()?
column() is called by 1 function(s): createTableColumns.

Analyze Your Own Codebase

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

Try Supermodel Free