googleapis / googleapis/ruby-spanner-activerecord
Can't compose db:drop db:create db:migrate in single call against Spanner Cloud
Abierto
@olavloite ya está trabajando en esto.
Desde el 6/11/2023.
api: spanner
priority: p2
type: bug
- Lenguaje dominante
- Ruby
- Estrellas
- 105
- Forks
- 37
- Merge medio
- 10 h 2 min
- PR fusionados (30 d)
- 5
Descripción
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.
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
- Run
bin/rails db:drop:spanner db:create:spanner db:migrate:spanneragainst 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.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Evaluación
Este issue todavía no se ha evaluado.