MCPcopy Create free account
hub / github.com/bytebase/bytebase / BatchSyncDatabases

Method BatchSyncDatabases

backend/api/v1/database_service.go:398–418  ·  view source on GitHub ↗

BatchSyncDatabases sync multiply database asynchronously.

(ctx context.Context, req *connect.Request[v1pb.BatchSyncDatabasesRequest])

Source from the content-addressed store, hash-verified

396
397// BatchSyncDatabases sync multiply database asynchronously.
398func (s *DatabaseService) BatchSyncDatabases(ctx context.Context, req *connect.Request[v1pb.BatchSyncDatabasesRequest]) (*connect.Response[v1pb.BatchSyncDatabasesResponse], error) {
399 for _, name := range req.Msg.Names {
400 instanceID, databaseName, err := common.GetInstanceDatabaseID(name)
401 if err != nil {
402 return nil, connect.NewError(connect.CodeInvalidArgument, errors.Wrapf(err, "failed to parse %q", name))
403 }
404 databaseMessage, err := s.store.GetDatabase(ctx, &store.FindDatabaseMessage{
405 Workspace: common.GetWorkspaceIDFromContext(ctx),
406 InstanceID: &instanceID,
407 DatabaseName: &databaseName,
408 })
409 if err != nil {
410 return nil, connect.NewError(connect.CodeInternal, errors.Wrapf(err, "failed to get database"))
411 }
412 if databaseMessage == nil {
413 continue
414 }
415 s.schemaSyncer.SyncDatabaseAsync(databaseMessage)
416 }
417 return connect.NewResponse(&v1pb.BatchSyncDatabasesResponse{}), nil
418}
419
420// BatchUpdateDatabases updates databases in batch.
421func (s *DatabaseService) BatchUpdateDatabases(ctx context.Context, req *connect.Request[v1pb.BatchUpdateDatabasesRequest]) (*connect.Response[v1pb.BatchUpdateDatabasesResponse], error) {

Callers

nothing calls this directly

Calls 4

GetInstanceDatabaseIDFunction · 0.92
SyncDatabaseAsyncMethod · 0.80
GetDatabaseMethod · 0.65

Tested by

no test coverage detected