我正在使用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)。
答案 0 :(得分:1)
您可以更改select语句以生成所需的日期
,而不是更改旧表INSERT INTO archive (id, title, createdAt) SELECT id, title, NOW() FROM old_archives;
这将从旧表中选择数据,并将当前时间戳添加到每一行。当然,您也可以插入任何其他日期而不是NOW()