googleapis / googleapis/ruby-spanner-activerecord

Can't compose db:drop db:create db:migrate in single call against Spanner Cloud

Offen
#272 0 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @olavloite Auf GitHub ansehen
api: spanner priority: p2 type: bug
Vorherrschende Sprache
Ruby
Sterne
105
Forks
37
Ø Merge
10 Std. 2 Min.
Gemergte PRs (30 T.)
5

Beschreibung

When trying to do a database reset in a multi-database Rails app with `bin/rails db:drop:spanner db:create:spanner db:schema:load:spanner`, drop and create succeed but schema:load fails with `Database not found` from Spanner.

The problem is consistent when connected to Cloud Spanner projects, but does not occur when connected to the Spanner local emulator.

#### Environment details

- Programming language: Ruby
- OS: macos 14, Linux 31ff6731e7e0 6.4.16-linuxkit (in docker image)
- Language runtime version: 3.0.5
- Package version: `activerecord-spanner-adapter (1.4.4)`

#### Steps to reproduce

Have a cloud spanner project + instance set up.

```yaml
development:
primary:
adapter: sqlite
database: db/development.sqlite3
pool: 5
timeout: 5000

spanner:
adapter: spanner
pool: 2
project: dev-project
instance: ourapp
database: myapp_dev
credentials: config/credentials/shared-service-account.json
migrations_paths: db/spanner/migrate
```

1. Run `bin/rails db:drop:spanner db:create:spanner db:migrate:spanner` against the project + instance.

#### Full trace

```
Dropped database 'myapp_test'
Created database 'myapp_test'
rails aborted!
Google::Cloud::NotFoundError: 5:Database not found: projects/dev-project/instances/ourapp/databases/myapp_test. debug_error_string:{UNKNOWN:Error received from peer ipv4:172.111.11.11:443 {grpc_message:"Database not found: projects/dev-project/instances/ourapp/databases/myapp_test", grpc_status:5, created_time:"2023-11-06T20:09:22.197355469+00:00"}}

Caused by:
GRPC::NotFound: 5:Database not found: projects/dev-project/instances/ourapp/databases/myapp_test. debug_error_string:{UNKNOWN:Error received from peer ipv4:172.111.11.11:443 {grpc_message:"Database not found: projects/dev-project/instances/ourapp/databases/myapp_test", grpc_status:5, created_time:"2023-11-06T20:09:22.197355469+00:00"}}
```

#### Expected outcome

Drop, create, load schema on Cloud Spanner without errors in one shot like in MySQL, Postgres, or Sqlite.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.