批量postgres插入时间戳通过sequalize设置了空约束

时间:2016-01-05 14:32:11

标签: node.js postgresql sequelize.js

我正在使用Postgres和Sequelize使用我的节点应用程序。

我已经设置了模型并允许Sequalize生成表格。我现在想要使用类似的东西来移动数据。 insert into archive (id,title) select id, title from old_archives; 但是,由于Sequelize使用createdAt和updatedAt列,我收到空错误。有办法解决这个问题吗?

错误是

  

错误:“createdAt”列中的空值违反了非空约束   DETAIL:失败的行包含(2,null,Dewerstone Rocks,null,null,null,null,null,null,null,null)。

1 个答案:

答案 0 :(得分:1)

您可以更改select语句以生成所需的日期

,而不是更改旧表
INSERT INTO archive (id, title, createdAt) SELECT id, title, NOW() FROM old_archives;

这将从旧表中选择数据,并将当前时间戳添加到每一行。当然,您也可以插入任何其他日期而不是NOW()