MCPcopy Index your code
hub / github.com/bytebase/bytebase / diff

Function diff

backend/runner/taskrun/database_migrate_executor.go:1005–1024  ·  view source on GitHub ↗
(ctx context.Context, s *store.Store, instance *store.InstanceMessage, database *store.DatabaseMessage, sheetContent string)

Source from the content-addressed store, hash-verified

1003}
1004
1005func diff(ctx context.Context, s *store.Store, instance *store.InstanceMessage, database *store.DatabaseMessage, sheetContent string) (string, error) {
1006 dbMetadata, err := s.GetDBSchema(ctx, &store.FindDBSchemaMessage{
1007 Workspace: instance.Workspace,
1008 InstanceID: database.InstanceID,
1009 DatabaseName: database.DatabaseName,
1010 })
1011 if err != nil {
1012 return "", errors.Wrapf(err, "failed to get database schema for database %q", database.DatabaseName)
1013 }
1014 if dbMetadata == nil {
1015 return "", errors.Errorf("database schema %q not found", database.DatabaseName)
1016 }
1017
1018 migrationSQL, err := schema.SDLMigration(instance.Metadata.GetEngine(), sheetContent, dbMetadata)
1019 if err != nil {
1020 return "", errors.Wrapf(err, "failed to compute SDL migration")
1021 }
1022
1023 return migrationSQL, nil
1024}
1025
1026// computeNeedDump determines if schema dump is needed based on task type and statements.
1027func computeNeedDump(taskType storepb.Task_Type, engine storepb.Engine, statement string) bool {

Callers 1

runDeclarativeReleaseMethod · 0.70

Calls 4

SDLMigrationFunction · 0.92
GetDBSchemaMethod · 0.80
ErrorfMethod · 0.80
GetEngineMethod · 0.45

Tested by

no test coverage detected