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

Method SyncInstance

backend/plugin/db/mongodb/sync.go:46–73  ·  view source on GitHub ↗

SyncInstance syncs the instance meta.

(ctx context.Context)

Source from the content-addressed store, hash-verified

44
45// SyncInstance syncs the instance meta.
46func (d *Driver) SyncInstance(ctx context.Context) (*db.InstanceMetadata, error) {
47 version, err := d.getVersion(ctx)
48 if err != nil {
49 return nil, err
50 }
51 instanceRoles, err := d.getInstanceRoles(ctx)
52 if err != nil {
53 return nil, err
54 }
55 var databases []*storepb.DatabaseSchemaMetadata
56 databaseNames, err := d.getNonSystemDatabaseList(ctx)
57 if err != nil {
58 return nil, err
59 }
60 for _, databaseName := range databaseNames {
61 databases = append(databases, &storepb.DatabaseSchemaMetadata{
62 Name: databaseName,
63 })
64 }
65
66 return &db.InstanceMetadata{
67 Version: version,
68 Databases: databases,
69 Metadata: &storepb.Instance{
70 Roles: instanceRoles,
71 },
72 }, nil
73}
74
75// SyncDBSchema syncs the database schema.
76func (d *Driver) SyncDBSchema(ctx context.Context) (*storepb.DatabaseSchemaMetadata, error) {

Callers

nothing calls this directly

Implementers 15

MockDriverbackend/plugin/advisor/utils_for_tests
Driverbackend/plugin/db/bigquery/bigquery.go
Driverbackend/plugin/db/mongodb/mongodb.go
Driverbackend/plugin/db/trino/trino.go
Driverbackend/plugin/db/redshift/redshift.go
Driverbackend/plugin/db/oracle/oracle.go
Driverbackend/plugin/db/dynamodb/dynamodb.go
Driverbackend/plugin/db/cosmosdb/cosmosdb.go
Driverbackend/plugin/db/spanner/spanner.go
Driverbackend/plugin/db/mssql/mssql.go
Driverbackend/plugin/db/mysql/mysql.go
Driverbackend/plugin/db/pg/pg.go

Calls 3

getVersionMethod · 0.95
getInstanceRolesMethod · 0.95

Tested by

no test coverage detected