Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Multi-tenancy SQL syntax error caused by ActiveRelationResource (0.10.x)

Abierto
#1,310 1 comentario 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
mysql, ruby
Área
api, database

Línea de trabajo

Empieza en lib/jsonapi/active_relation_resource.rb, alrededor de la línea 117, y reproduce la consulta multi-tenant contra MySQL utilizando un recurso de otra base de datos. Inspecciona el SQL generado y verifica que los alias de columna resultantes ya no contengan puntos y que la consulta se ejecute correctamente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

This issue is a (choose one):

  • Problem/bug report.

Checklist before submitting:

  • I've searched for an existing issue.

Description

After upgrading JSONAPI::Resources to version 0.10.2 (coming from 0.9), we noticed the API is causing SQL errors when loading resources from a different database. We have a multi-tenant database, so some resources are fetched from a shared database. It seems this line is causing the syntax to break:
https://github.com/cerebris/jsonapi-resources/blob/master/lib/jsonapi/active_relation_resource.rb#L117

Fetching resources from a different database results in the given query:

SELECT database.table.id AS database.table_id (...)

The dot (.) in the alias is illegal. This results in the following error:

Internal Server Error: Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.table_id ' at line 1: 
Lenguaje dominante
Ruby
Estrellas
2.3k
Forks
546
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de JSONAPI-Resources/jsonapi-resources

Todos los issues de JSONAPI-Resources/jsonapi-resources

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.