bug(migrations): quoted version_table renders invalid CREATE TABLE
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 84/100
Línea de trabajo
Comienza en sqlspec/migrations/base.py, en BaseMigrationTracker._split_version_table, y luego inspecciona _tracking_table_builder y el ejemplo de SyncMigrationTracker en sqlspec/migrations/tracker.py. Reproduce el problema con la entrada App.Tracker entre comillas y DDL de postgres; se considera terminado cuando CREATE TABLE usa "App"."Tracker" sin comillas duplicadas y las demás sentencias del tracker usan la misma tabla.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
A quoted migration version_table name produces invalid CREATE TABLE SQL. The quotes around each part are kept, then quoted again when the DDL is rendered.
Reproduce
from sqlspec.migrations.tracker import SyncMigrationTracker
tracker = SyncMigrationTracker('"App"."Tracker"')
print(repr(tracker.version_table_name), repr(tracker.version_table_schema))
# '"Tracker"' '"App"'
print(tracker._tracking_table_ddl().build(dialect="postgres").sql.splitlines()[0])
# CREATE TABLE IF NOT EXISTS """App"""."""Tracker""" (
Expected
CREATE TABLE IF NOT EXISTS "App"."Tracker" (, with the tracker's other statements referring to the same table.
Cause
BaseMigrationTracker._split_version_table (sqlspec/migrations/base.py) splits on the dot but leaves the double quotes on each part. The DDL builder in _tracking_table_builder then treats the quotes as part of the name and escapes them. Any adapter that uses the generic tracker DDL is affected. To fix it, strip the quotes when splitting and keep a flag saying the name was quoted, so the table is still created with its exact case.
- Lenguaje dominante
- Python
- Estrellas
- 104
- Forks
- 9
- Merge medio
- 1 d 4 h
- PR fusionados (30 d)
- 44
Preparar el entorno
- Sin Dockerfile ni 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 litestar-org/sqlspec
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
litestar-org/sqlspec#810 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
litestar-org/sqlspec#728 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
litestar-org/sqlspec#509 ·
Los mantenedores suelen responder en 1 día
Todos los issues de litestar-org/sqlspec
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
[Bug] to_ical lexicographical/default sorting moves URL property between two X-WR- propertiesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
collective/icalendar#1968 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Deferred from #1869: Complete the companion pytest guardrail update noted in the PR description...Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
Los mantenedores suelen responder en 1 día
-
Custom provider API keys collide on one host: env slot keyed on host:port only, not URL pathAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
NousResearch/hermes-agent#140958 ·
Los mantenedores suelen responder en 1 día
-
Bug triage/confirmed
Dificultad 2/5 Medio día Aptitud para principiantes 85/100
agentscope-ai/agentscope#3355 ·
Los mantenedores suelen responder en 2 días