Column name with a 0 generate an invalid column name in query
DeadEye0112 opened this issue ยท 2 comments
Expected behavior
Expected to be able to click on my table in Forest Admin and see the contents of the table.
Actual behavior
Having the message "Oops, something went wrong".
Failure Logs
[forest] ๐ณ๐ณ๐ณ Unexpected error: column ratings.criteria0_grade does not exist
SequelizeDatabaseError: column ratings.criteria0_grade does not exist
Context
I have a table named ratings
having several columns named like this: criteria_0_grade
, criteria_1_grade
, etc... For an unknown reason, Lumber seems to map these columns to criteria0_grade
triggering a column ratings.criteria0_grade does not exist
error. The problem seems to exist only with the two columns name criteria_0_*
.
In models/ratings.js
, only the columns with a 0 does not have a field
field:
criteria0Grade: {
type: DataTypes.INTEGER,
},
criteria0Comment: {
type: DataTypes.STRING,
},
criteria1Grade: {
type: DataTypes.INTEGER,
field: 'criteria_1_grade',
},
criteria1Comment: {
type: DataTypes.STRING,
field: 'criteria_1_comment',
},
criteria2Grade: {
type: DataTypes.INTEGER,
field: 'criteria_2_grade',
},
- Lumber Package Version: 3.0.1
- Database Dialect: postgres
- Database Version: 10.6
Thanks for you help!
Hi @DeadEye0112,
Thanks for your feedback.
It definitely looks like a bug.
As a workaround could you edit your criteria0Grade
and criteria0Comment
fields, like this:
criteria0Grade: {
type: DataTypes.INTEGER,
field: 'criteria_0_grade' // define the name of your table column
},
criteria0Comment: {
type: DataTypes.STRING,
field: 'criteria_0_comment' // define the name of your table column
},
Hope it will help.
I confirm that the workaround works, I hope that the fix will not disappear on update.
Thanks for your answer!