Error in your foreign key creations instructions page.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, nodejs, postgresql
- Área
- databases, documentation
Línea de trabajo
Comienza por la sección sobre claves foráneas enlazada en el tutorial de base de datos SQL de la lista Todo de LoopBack y compara su valor foreignKey con el esquema de PostgreSQL producido por la migración. Actualiza el ejemplo para que la restricción documentada coincida con el nombre de columna generado y, después, verifica que el ejemplo Todo se migre correctamente contra PostgreSQL.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
https://loopback.io/doc/en/lb4/todo-list-tutorial-sqldb.html#specify-the-foreign-key-constraints-in-todo-model
In your example below.
@model({
settings: {
foreignKeys: {
fk_todo_todoListId: {
name: 'fk_todo_todoListId',
entity: 'TodoList',
entityKey: 'id',
foreignKey: 'todoListId',
},
},
},
})
export class Todo extends Entity {
//etc.
}
When following the setup above to run database migration for my local postgresdb as part of todo example tutorial, I encountered the following error:
Cannot migrate database schema error: column "todoListId" referenced in foreign key constraint does not exist
at Parser.parseErrorMessage (/Users/andywongcheeming/Projects/poc/todo-list/node_modules/pg-protocol/dist/parser.js:283:98)
I was left puzzled why the instructions did not work as expected. I dig up online and my personal ChatGPT to understand if Postgres DB has case-sensitive when comes to table and field naming conventions. It turns out that it does.
When I go back and check my local postgres todo definitions via psql cli.
todo_db=# \d todo
Table "public.todo"
Column | Type | Collation | Nullable | Default
------------+---------+-----------+----------+---------
id | integer | | not null |
title | text | | not null |
desc | text | | |
iscomplete | boolean | | |
todolistid | integer | | |
It turns our the foreign key todolistid comes out as lower case by default when running Loopback db migration tool. The sample @model code above supplied as {foreignKey: 'todoListId'}.
I corrected it to use lower-case, dropped the database and started the migration all over again. The migration works this time.
Thus, I must ask - shouldn't the instructions be updated to use lowercase since the plugin creates tables and field names in lowercase by default?
- Lenguaje dominante
- JavaScript
- Estrellas
- 118
- Forks
- 183
- Merge medio
- 3 d 7 h
- PR fusionados (30 d)
- 9
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una 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 loopbackio/loopback-connector-postgresql
-
Partial JSON UpdatePosiblemente ocupada @vaibhavbhalla2505 la tomó hace 264 días. Abiertofeature
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
loopbackio/loopback-connector-postgresql#748 · 1 comentario ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
-
feature
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
Todos los issues de loopbackio/loopback-connector-postgresql
Issues similares
-
type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
blamechris/chroxy#8579 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
modusensus/dsh-mneme#411 ·
-
Flaky (suspected): VideoTimelineEditor bed audio test sees 600px instead of 120px under CI loadAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Actions on ToastsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
nextcloud-libraries/nextcloud-dialogs#2669 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
XRPLF/xrpl-dev-portal#4000 ·
Los mantenedores suelen responder en 1 día