开发者问题收集

续集中的播种问题

2019-07-11
1395

我正在执行 sequelize 文档中的示例,我使用以下命令创建了用户表:

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: '[email protected]',
      createdAt: Date.now(),
      updatedAt: Date.now()
    }], {});
  },

  down: (queryInterface, Sequelize) => {
    return queryInterface.bulkDelete('Users', null, {});
  }
};

出现错误:

列“createdAt”的类型为带有时区的时间戳,但表达式的类型为 bigint

更新:

new Date().toISOString().slice(0, 19).replace('T', ' ') 解决了问题,但看起来不太好看。 有更好的解决方案吗?

1个回答

您正在使用 Date.now() ,它为您提供了一个纪元时间戳。请改用 new Date(). toISOString () ,它返回一个 ISO 日期字符串。

Subbu
2019-07-11