Home / Function/ getCreateForeignKeyQueries() — astro Function Reference

getCreateForeignKeyQueries() — astro Function Reference

Architecture documentation for the getCreateForeignKeyQueries() function in queries.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  5343da8f_869a_7aae_4608_c9250b0cad11["getCreateForeignKeyQueries()"]
  ad642171_aa4f_abf2_da4d_c5b2e217a132["queries.ts"]
  5343da8f_869a_7aae_4608_c9250b0cad11 -->|defined in| ad642171_aa4f_abf2_da4d_c5b2e217a132
  2c5d4a4f_0281_5dcc_4f4b_c395276b2c64["getCreateTableQuery()"]
  2c5d4a4f_0281_5dcc_4f4b_c395276b2c64 -->|calls| 5343da8f_869a_7aae_4608_c9250b0cad11
  9f3cbb71_dd98_b8a0_1397_58e6f2abb8fc["asArray()"]
  5343da8f_869a_7aae_4608_c9250b0cad11 -->|calls| 9f3cbb71_dd98_b8a0_1397_58e6f2abb8fc
  style 5343da8f_869a_7aae_4608_c9250b0cad11 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/db/src/core/queries.ts lines 69–94

function getCreateForeignKeyQueries(tableName: string, table: DBTable) {
	let queries: string[] = [];
	for (const foreignKey of table.foreignKeys ?? []) {
		const columns = asArray(foreignKey.columns);
		const references = asArray(foreignKey.references);

		if (columns.length !== references.length) {
			throw new Error(FOREIGN_KEY_REFERENCES_LENGTH_ERROR(tableName));
		}
		const firstReference = references[0];
		if (!firstReference) {
			throw new Error(FOREIGN_KEY_REFERENCES_EMPTY_ERROR(tableName));
		}
		const referencedTable = firstReference.schema.collection;
		if (!referencedTable) {
			throw new Error(FOREIGN_KEY_DNE_ERROR(tableName));
		}
		const query = `FOREIGN KEY (${columns
			.map((f) => sqlite.escapeName(f))
			.join(', ')}) REFERENCES ${sqlite.escapeName(referencedTable)}(${references
			.map((r) => sqlite.escapeName(r.schema.name!))
			.join(', ')})`;
		queries.push(query);
	}
	return queries;
}

Domain

Subdomains

Calls

Frequently Asked Questions

What does getCreateForeignKeyQueries() do?
getCreateForeignKeyQueries() is a function in the astro codebase, defined in packages/db/src/core/queries.ts.
Where is getCreateForeignKeyQueries() defined?
getCreateForeignKeyQueries() is defined in packages/db/src/core/queries.ts at line 69.
What does getCreateForeignKeyQueries() call?
getCreateForeignKeyQueries() calls 1 function(s): asArray.
What calls getCreateForeignKeyQueries()?
getCreateForeignKeyQueries() is called by 1 function(s): getCreateTableQuery.

Analyze Your Own Codebase

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

Try Supermodel Free