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

column() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  faade615_b82c_cd55_c09a_a253918d8b88["column()"]
  c1c349dd_2e31_d056_728c_c034cebb41c0["introspect-sqlite.ts"]
  faade615_b82c_cd55_c09a_a253918d8b88 -->|defined in| c1c349dd_2e31_d056_728c_c034cebb41c0
  154c5f90_2024_d20f_7338_69f47fcd8698["createTableColumns()"]
  154c5f90_2024_d20f_7338_69f47fcd8698 -->|calls| faade615_b82c_cd55_c09a_a253918d8b88
  d11905b4_a7b6_40f4_09ff_114b87f29eed["withCasing()"]
  faade615_b82c_cd55_c09a_a253918d8b88 -->|calls| d11905b4_a7b6_40f4_09ff_114b87f29eed
  55f88422_50d3_6975_afdb_fd8ac212f16d["dbColumnName()"]
  faade615_b82c_cd55_c09a_a253918d8b88 -->|calls| 55f88422_50d3_6975_afdb_fd8ac212f16d
  b01214dd_2df4_b735_8f58_fb99bf0c0831["mapColumnDefault()"]
  faade615_b82c_cd55_c09a_a253918d8b88 -->|calls| b01214dd_2df4_b735_8f58_fb99bf0c0831
  style faade615_b82c_cd55_c09a_a253918d8b88 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/introspect-sqlite.ts lines 280–335

const column = (
	type: string,
	name: string,
	defaultValue?: any,
	autoincrement?: boolean,
	casing?: Casing,
) => {
	let lowered = type;
	casing = casing!;

	if (lowered === 'integer') {
		let out = `${withCasing(name, casing)}: integer(${dbColumnName({ name, casing })})`;
		// out += autoincrement ? `.autoincrement()` : "";
		out += typeof defaultValue !== 'undefined'
			? `.default(${mapColumnDefault(defaultValue)})`
			: '';
		return out;
	}

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

	if (lowered.startsWith('text')) {
		const match = lowered.match(/\d+/);
		let out: string;

		if (match) {
			out = `${withCasing(name, casing)}: text(${dbColumnName({ name, casing, withMode: true })}{ length: ${
				match[0]
			} })`;
		} else {
			out = `${withCasing(name, casing)}: text(${dbColumnName({ name, casing })})`;
		}

		out += defaultValue ? `.default("${mapColumnDefault(defaultValue)}")` : '';
		return out;
	}

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

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

	//   console.log("uknown", type);
	return `// Warning: Can't parse ${type} from database\n\t// ${type}Type: ${type}("${name}")`;
};

Domain

Subdomains

Frequently Asked Questions

What does column() do?
column() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/introspect-sqlite.ts.
Where is column() defined?
column() is defined in drizzle-kit/src/introspect-sqlite.ts at line 280.
What does column() call?
column() calls 3 function(s): dbColumnName, mapColumnDefault, withCasing.
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