MCPcopy
hub / github.com/drizzle-team/drizzle-orm / pushSingleStoreSchema

Function pushSingleStoreSchema

drizzle-kit/src/api.ts:545–602  ·  view source on GitHub ↗
(
	imports: Record<string, unknown>,
	drizzleInstance: SingleStoreDriverDatabase<any>,
	databaseName: string,
)

Source from the content-addressed store, hash-verified

543};
544
545export const pushSingleStoreSchema = async (
546 imports: Record<string, unknown>,
547 drizzleInstance: SingleStoreDriverDatabase<any>,
548 databaseName: string,
549) => {
550 const { applySingleStoreSnapshotsDiff } = await import('./snapshotsDiffer');
551 const { logSuggestionsAndReturn } = await import(
552 './cli/commands/singlestorePushUtils'
553 );
554 const { singlestorePushIntrospect } = await import(
555 './cli/commands/singlestoreIntrospect'
556 );
557 const { sql } = await import('drizzle-orm');
558
559 const db: DB = {
560 query: async (query: string) => {
561 const res = await drizzleInstance.execute(sql.raw(query));
562 return res[0] as unknown as any[];
563 },
564 };
565 const cur = await generateSingleStoreDrizzleJson(imports);
566 const { schema: prev } = await singlestorePushIntrospect(db, databaseName, []);
567
568 const validatedPrev = singlestoreSchema.parse(prev);
569 const validatedCur = singlestoreSchema.parse(cur);
570
571 const squashedPrev = squashSingleStoreScheme(validatedPrev);
572 const squashedCur = squashSingleStoreScheme(validatedCur);
573
574 const { statements } = await applySingleStoreSnapshotsDiff(
575 squashedPrev,
576 squashedCur,
577 tablesResolver,
578 columnsResolver,
579 /* singleStoreViewsResolver, */
580 validatedPrev,
581 validatedCur,
582 'push',
583 );
584
585 const { shouldAskForApprove, statementsToExecute, infoToPrint } = await logSuggestionsAndReturn(
586 db,
587 statements,
588 validatedCur,
589 validatedPrev,
590 );
591
592 return {
593 hasDataLoss: shouldAskForApprove,
594 warnings: infoToPrint,
595 statementsToExecute,
596 apply: async () => {
597 for (const dStmnt of statementsToExecute) {
598 await db.query(dStmnt);
599 }
600 },
601 };
602};

Callers

nothing calls this directly

Calls 7

squashSingleStoreSchemeFunction · 0.90
logSuggestionsAndReturnFunction · 0.90
executeMethod · 0.45
queryMethod · 0.45

Tested by

no test coverage detected