DataTypes.JSON dosn't work with seeding and arrays
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 38/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- javascript, mariadb
Research direction
Start with the seed file's queryInterface.bulkInsert call and reproduce it using npx sequelize db:seed:all against MariaDB 10.5. Compare this path with the working model save example, then verify that a seeded JSON array is stored as an array and add or run a regression check for that behavior.
Written by the indexing model from the issue text.
Description
What you are doing?
I used npx sequelize db:seed:all to seed a database entry.
If I try to create it in the project itself everything is working fine (see test file)
Test File
const { test } = require('./models')
let test1 = test.build({
arr: ['test1'],
createdAt: new Date(),
updatedAt: new Date()
})
test1.save()
Model File
const {
Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class test extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
}
}
test.init({
arr: DataTypes.JSON,
}, {
sequelize,
modelName: 'test',
});
return test;
};
Seed File
module.exports = {
async up (queryInterface, Sequelize) {
return queryInterface.bulkInsert('test',[
{
arr: ['test1'],
createdAt: new Date(),
updatedAt: new Date()
}
])
},
async down (queryInterface, Sequelize) {
return queryInterface.bulkDelete('test', null, {});
}
};
What do you expect to happen?
Insert a new row into the database with the array
What is actually happening?
The array isnt beeing parsed to ['test1'], it's getting parsed to 'test1'
ERROR: (conn=81, no: 4025, SQLState: 23000) CONSTRAINT `test.arr` failed for `database_dev`.`test`
INSERT INTO `tests` (`test`,`createdAt`,`updatedAt`) VALUES ('test','2022-09-14 09:17:45.936','2022-09-14 09:17:45.936');
Dialect: mariadb
Database version: 10.5.15
Sequelize CLI version: 6.4.1
Sequelize version: 6.21.6
- Dominant language
- JavaScript
- Stars
- 2.6k
- Forks
- 524
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sequelize/cli
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
HarperFast/skills#96 ·
-
[Block] Latest Posts [Type] Bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Automattic/studio#4908 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
sugarlabs/musicblocks#8847 ·