Home / Function/ getRecreateTableQueries() — astro Function Reference

getRecreateTableQueries() — astro Function Reference

Architecture documentation for the getRecreateTableQueries() function in migration-queries.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  69526ea7_dab8_b768_2cf0_95b6d89a88de["getRecreateTableQueries()"]
  d1459290_7e42_1f92_05bd_dcc3aeda9fd3["migration-queries.ts"]
  69526ea7_dab8_b768_2cf0_95b6d89a88de -->|defined in| d1459290_7e42_1f92_05bd_dcc3aeda9fd3
  d8e591b7_f3dd_5f49_beb9_c9047d4d1e02["getTableChangeQueries()"]
  d8e591b7_f3dd_5f49_beb9_c9047d4d1e02 -->|calls| 69526ea7_dab8_b768_2cf0_95b6d89a88de
  style 69526ea7_dab8_b768_2cf0_95b6d89a88de fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/db/src/core/cli/migration-queries.ts lines 257–292

function getRecreateTableQueries({
	tableName: unescTableName,
	newTable,
	added,
	hasDataLoss,
	migrateHiddenPrimaryKey,
}: {
	tableName: string;
	newTable: ResolvedDBTable;
	added: Record<string, DBColumn>;
	hasDataLoss: boolean;
	migrateHiddenPrimaryKey: boolean;
}): string[] {
	const unescTempName = `${unescTableName}_${genTempTableName()}`;
	const tempName = sqlite.escapeName(unescTempName);
	const tableName = sqlite.escapeName(unescTableName);

	if (hasDataLoss) {
		return [`DROP TABLE ${tableName}`, getCreateTableQuery(unescTableName, newTable)];
	}
	const newColumns = [...Object.keys(newTable.columns)];
	if (migrateHiddenPrimaryKey) {
		newColumns.unshift('_id');
	}
	const escapedColumns = newColumns
		.filter((i) => !(i in added))
		.map((c) => sqlite.escapeName(c))
		.join(', ');

	return [
		getCreateTableQuery(unescTempName, newTable),
		`INSERT INTO ${tempName} (${escapedColumns}) SELECT ${escapedColumns} FROM ${tableName}`,
		`DROP TABLE ${tableName}`,
		`ALTER TABLE ${tempName} RENAME TO ${tableName}`,
	];
}

Domain

Subdomains

Frequently Asked Questions

What does getRecreateTableQueries() do?
getRecreateTableQueries() is a function in the astro codebase, defined in packages/db/src/core/cli/migration-queries.ts.
Where is getRecreateTableQueries() defined?
getRecreateTableQueries() is defined in packages/db/src/core/cli/migration-queries.ts at line 257.
What calls getRecreateTableQueries()?
getRecreateTableQueries() is called by 1 function(s): getTableChangeQueries.

Analyze Your Own Codebase

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

Try Supermodel Free