Dumping db structure after migrations fails for projects with spaces in their path
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
Línea de trabajo
Busca .exec_load_command en el código de Hanami CLI y luego lee el flujo de migración que lo invoca y las pruebas relacionadas. Reproduce el problema ejecutando hanami db migrate desde una ruta de proyecto que contenga espacios; se considera resuelto cuando la migración termina y el volcado de la estructura se realiza correctamente con la ruta intacta.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
If the project's path contains spaces, at the end of a database migration when the database structure is loaded with .exec_load_command those spaces get interpreted as multiple shell arguments, raising an error.
=> database db/hanami_app.sqlite migrated in 0.001s
Error: in prepare, near "out": syntax error
out/hanami_app
^--- error here
!!! => "db/hanami_app.sqlite structure dumped to config/db/structure.sql" FAILED
To Reproduce
Create a directory with a space. Within that directory create a new hanami application with a single migration. Run the migration and the error occurs.
$ mkdir "spaced out" && cd "spaced out"
$ hanami new hanami_app
Created hanami_app/
-> Within hanami_app/
[truncated]
$ cat <<EOF > config/db/migrate/20261011205238_create_table.rb
ROM::SQL.migration do
change do
create_table :foo do
primary_key :bar
column :baz, :text, null: false
end
end
end
EOF
$ bundle exec hanami db migrate
=> database db/hanami_app.sqlite migrated in 0.001s
Error: in prepare, near "out": syntax error
out/hanami_app
^--- error here
!!! => "db/hanami_app.sqlite structure dumped to config/db/structure.sql" FAILED
Expected behavior
Hanami should gracefully handle paths with spaces by quoting them or using some other shell-safe method.
My environment
- Ruby version: ruby 4.0.6 (2026-07-14 revision 03b6d3f889) +PRISM [arm64-darwin24]
- OS: macOS
- Lenguaje dominante
- Ruby
- Estrellas
- 33
- Forks
- 56
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 5
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la 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.
Más de hanami/hanami-cli
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
hanami/hanami-cli#450 ·
-
MariaDB supportPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
hanami/hanami-cli#448 · 3 comentarios ·
-
bug help wanted
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
hanami/hanami-cli#438 · 3 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
hanami/hanami-cli#418 ·
-
JRuby supportAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
hanami/hanami-cli#411 ·
Todos los issues de hanami/hanami-cli
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
enhancement help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
ecosyste-ms/repos#1215 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
WikiEducationFoundation/WikiEduDashboard#7157 ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
r-uby-dev/llm#292 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 4 días