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

Method SyncDatabase

backend/api/v1/database_service.go:372–395  ·  view source on GitHub ↗

SyncDatabase syncs the schema of a database.

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

Source from the content-addressed store, hash-verified

370
371// SyncDatabase syncs the schema of a database.
372func (s *DatabaseService) SyncDatabase(ctx context.Context, req *connect.Request[v1pb.SyncDatabaseRequest]) (*connect.Response[v1pb.SyncDatabaseResponse], error) {
373 instanceID, databaseName, err := common.GetInstanceDatabaseID(req.Msg.Name)
374 if err != nil {
375 return nil, connect.NewError(connect.CodeInvalidArgument, errors.Wrapf(err, "failed to parse %q", req.Msg.Name))
376 }
377 databaseMessage, err := s.store.GetDatabase(ctx, &store.FindDatabaseMessage{
378 Workspace: common.GetWorkspaceIDFromContext(ctx),
379 InstanceID: &instanceID,
380 DatabaseName: &databaseName,
381 })
382 if err != nil {
383 return nil, connect.NewError(connect.CodeInternal, errors.Wrapf(err, "failed to get database"))
384 }
385 if databaseMessage == nil {
386 return nil, connect.NewError(connect.CodeNotFound, errors.Errorf("database %q not found", req.Msg.Name))
387 }
388 if databaseMessage.Deleted {
389 return nil, connect.NewError(connect.CodeNotFound, errors.Errorf("database %q was deleted", req.Msg.Name))
390 }
391 if err := s.schemaSyncer.SyncDatabaseSchema(ctx, databaseMessage); err != nil {
392 return nil, err
393 }
394 return connect.NewResponse(&v1pb.SyncDatabaseResponse{}), nil
395}
396
397// BatchSyncDatabases sync multiply database asynchronously.
398func (s *DatabaseService) BatchSyncDatabases(ctx context.Context, req *connect.Request[v1pb.BatchSyncDatabasesRequest]) (*connect.Response[v1pb.BatchSyncDatabasesResponse], error) {

Callers

nothing calls this directly

Calls 5

GetInstanceDatabaseIDFunction · 0.92
ErrorfMethod · 0.80
SyncDatabaseSchemaMethod · 0.80
GetDatabaseMethod · 0.65

Tested by

no test coverage detected