sequelize 中的播种问题
Issue with seeding in sequelize
我正在做来自 sequelize 文档的示例,我创建了用户 table:
npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string
运行 迁移然后当我 运行 这个种子:
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.bulkInsert('Users', [{
firstName: 'John',
lastName: 'Doe',
email: 'demo@demo.com',
createdAt: Date.now(),
updatedAt: Date.now()
}], {});
},
down: (queryInterface, Sequelize) => {
return queryInterface.bulkDelete('Users', null, {});
}
};
出现错误:
column "createdAt" is of type timestamp with time zone but expression is of type bigint
更新:
new Date().toISOString().slice(0, 19).replace('T', ' ')
解决了问题,但看起来不太好。有更好的解决方案吗?
您正在使用 Date.now()
,它会为您提供纪元时间戳。而是使用 new Date(). toISOString ()
其中 return ISO 日期字符串。
我正在做来自 sequelize 文档的示例,我创建了用户 table:
npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string
运行 迁移然后当我 运行 这个种子:
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.bulkInsert('Users', [{
firstName: 'John',
lastName: 'Doe',
email: 'demo@demo.com',
createdAt: Date.now(),
updatedAt: Date.now()
}], {});
},
down: (queryInterface, Sequelize) => {
return queryInterface.bulkDelete('Users', null, {});
}
};
出现错误:
column "createdAt" is of type timestamp with time zone but expression is of type bigint
更新:
new Date().toISOString().slice(0, 19).replace('T', ' ')
解决了问题,但看起来不太好。有更好的解决方案吗?
您正在使用 Date.now()
,它会为您提供纪元时间戳。而是使用 new Date(). toISOString ()
其中 return ISO 日期字符串。