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 日期字符串。