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

fromDatabase() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  cb6874bf_41d2_b505_ecf8_e9397a97e640["fromDatabase()"]
  67437259_0670_dcef_f238_9264f0f16394["singlestoreSerializer.ts"]
  cb6874bf_41d2_b505_ecf8_e9397a97e640 -->|defined in| 67437259_0670_dcef_f238_9264f0f16394
  6919cccf_82c8_5444_1bad_d599b446ee9d["singlestorePushIntrospect()"]
  6919cccf_82c8_5444_1bad_d599b446ee9d -->|calls| cb6874bf_41d2_b505_ecf8_e9397a97e640
  bd825edb_9a4c_6e78_1e0c_752e1c95eb1f["clearDefaults()"]
  cb6874bf_41d2_b505_ecf8_e9397a97e640 -->|calls| bd825edb_9a4c_6e78_1e0c_752e1c95eb1f
  style cb6874bf_41d2_b505_ecf8_e9397a97e640 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/serializer/singlestoreSerializer.ts lines 434–767

export const fromDatabase = async (
	db: DB,
	inputSchema: string,
	tablesFilter: (table: string) => boolean = (table) => true,
	progressCallback?: (
		stage: IntrospectStage,
		count: number,
		status: IntrospectStatus,
	) => void,
): Promise<SingleStoreSchemaInternal> => {
	const result: Record<string, Table> = {};
	const internals: SingleStoreKitInternals = { tables: {}, indexes: {} };

	const columns = await db.query(`select * from information_schema.columns
	where table_schema = '${inputSchema}' and table_name != '__drizzle_migrations'
	order by table_name, ordinal_position;`);

	const response = columns as RowDataPacket[];

	const schemas: string[] = [];

	let columnsCount = 0;
	let tablesCount = new Set();
	let indexesCount = 0;
	/* let viewsCount = 0; */

	const idxs = await db.query(
		`select * from INFORMATION_SCHEMA.STATISTICS
	WHERE INFORMATION_SCHEMA.STATISTICS.TABLE_SCHEMA = '${inputSchema}' and INFORMATION_SCHEMA.STATISTICS.INDEX_NAME != 'PRIMARY';`,
	);

	const idxRows = idxs as RowDataPacket[];

	for (const column of response) {
		if (!tablesFilter(column['TABLE_NAME'] as string)) continue;

		columnsCount += 1;
		if (progressCallback) {
			progressCallback('columns', columnsCount, 'fetching');
		}
		const schema: string = column['TABLE_SCHEMA'];
		const tableName = column['TABLE_NAME'];

		tablesCount.add(`${schema}.${tableName}`);
		if (progressCallback) {
			progressCallback('columns', tablesCount.size, 'fetching');
		}
		const columnName: string = column['COLUMN_NAME'];
		const isNullable = column['IS_NULLABLE'] === 'YES'; // 'YES', 'NO'
		const dataType = column['DATA_TYPE']; // varchar
		const columnType = column['COLUMN_TYPE']; // varchar(256)
		// const columnType = column["DATA_TYPE"];
		const isPrimary = column['COLUMN_KEY'] === 'PRI'; // 'PRI', ''
		let columnDefault: string | null = column['COLUMN_DEFAULT'];
		const collation: string = column['CHARACTER_SET_NAME'];
		const geenratedExpression: string = column['GENERATION_EXPRESSION'];

		let columnExtra = column['EXTRA'];
		let isAutoincrement = false; // 'auto_increment', ''
		let isDefaultAnExpression = false; // 'auto_increment', ''

		if (typeof column['EXTRA'] !== 'undefined') {
			columnExtra = column['EXTRA'];
			isAutoincrement = column['EXTRA'] === 'auto_increment'; // 'auto_increment', ''
			isDefaultAnExpression = column['EXTRA'].includes('DEFAULT_GENERATED'); // 'auto_increment', ''
		}

		// if (isPrimary) {
		//   if (typeof tableToPk[tableName] === "undefined") {
		//     tableToPk[tableName] = [columnName];
		//   } else {
		//     tableToPk[tableName].push(columnName);
		//   }
		// }

		if (schema !== inputSchema) {
			schemas.push(schema);
		}

		const table = result[tableName];

Domain

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free