Skip to content

Commit e84bd40

Browse files
committed
Merge branch 'main' of github.com:bytebase/terraform-provider-bytebase into chore/BYT-6906
# Conflicts: # VERSION
2 parents 220cd85 + 2ded883 commit e84bd40

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.11
1+
1.0.13

provider/resource_project.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,8 @@ func resourceProjectDelete(ctx context.Context, d *schema.ResourceData, m interf
365365
return diags
366366
}
367367

368+
const batchSize = 50
369+
368370
func updateDatabasesInProject(ctx context.Context, d *schema.ResourceData, client api.Client, projectName string) diag.Diagnostics {
369371
filter := fmt.Sprintf(`project == "%s"`, projectName)
370372
databases, err := client.ListDatabase(ctx, "-", filter)
@@ -409,9 +411,15 @@ func updateDatabasesInProject(ctx context.Context, d *schema.ResourceData, clien
409411
}
410412
}
411413

412-
if len(batchTransferDatabases) > 0 {
414+
for i := 0; i < len(batchTransferDatabases); i += batchSize {
415+
end := i + batchSize
416+
if end > len(batchTransferDatabases) {
417+
end = len(batchTransferDatabases)
418+
}
419+
batch := batchTransferDatabases[i:end]
420+
tflog.Info(ctx, fmt.Sprintf("transfer databases for range [%d, %d]", i, end))
413421
if _, err := client.BatchUpdateDatabases(ctx, &v1pb.BatchUpdateDatabasesRequest{
414-
Requests: batchTransferDatabases,
422+
Requests: batch,
415423
Parent: "instances/-",
416424
}); err != nil {
417425
return diag.Errorf("failed to assign databases to project %s with error: %v", projectName, err.Error())
@@ -439,9 +447,15 @@ func updateDatabasesInProject(ctx context.Context, d *schema.ResourceData, clien
439447
})
440448
}
441449
}
442-
if len(unassignDatabases) > 0 {
450+
for i := 0; i < len(unassignDatabases); i += batchSize {
451+
end := i + batchSize
452+
if end > len(unassignDatabases) {
453+
end = len(unassignDatabases)
454+
}
455+
batch := unassignDatabases[i:end]
456+
tflog.Info(ctx, fmt.Sprintf("unassign databases for range [%d, %d]", i, end))
443457
if _, err := client.BatchUpdateDatabases(ctx, &v1pb.BatchUpdateDatabasesRequest{
444-
Requests: unassignDatabases,
458+
Requests: batch,
445459
Parent: "instances/-",
446460
}); err != nil {
447461
return diag.Errorf("failed to move databases to default project with error: %v", err.Error())

0 commit comments

Comments
 (0)