Lifecycle create_before_destroy issue

We have a file (gitlab_rb_us-central1) stored into GCP storage , it has some dependency as well with other resources. When the content of the file has changed Terraform tries to update the file in GCP as below plan. The problem is that it first replaces the new file and then destroy, so the file is gone. I want “-/+ destroy and then create replacement” not “+/- create replacement and then destroy” , any way to achieve it ?

 # google_storage_bucket_object.gitlab_rb must be replaced
+/- resource "google_storage_bucket_object" "gitlab_rb" {
      ~ content        = (sensitive value)
      ~ content_type   = "text/plain; charset=utf-8" -> (known after apply)
      ~ crc32c         = "WolTPw==" -> (known after apply)
      ~ detect_md5hash = "GKRLpDotHYLtRB4ev8LdLw==" -> "different hash" # forces replacement

      ~ id             = "config-gitlab-server-dev-gitlab_rb_us-central1" -> (known after apply)
      ~ md5hash        = "GKRLpDotHYLtRB4ev8LdLw==" -> (known after apply)
        name           = "gitlab_rb_us-central1"
      ~ output_name    = "gitlab_rb_us-central1" -> (known after apply)
   ~ update in-place
      ~ storage_class  = "MULTI_REGIONAL" -> (known after apply)
+/- create replacement and then destroy