node.js - 批量 postgres 插入,其中时间戳具有通过 sequelize 设置的空约束

标签 node.js postgresql sequelize.js

我在我的 Node 应用程序中使用 Postgres 和 Sequelize。

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

错误是

ERROR: null value in column "createdAt" violates not-null constraint DETAIL: Failing row contains (2, null, Dewerstone Rocks, null, null, null, null, null, null, null, null).

最佳答案

您可以更改 select 语句以生成所需的日期,而不是更改旧表

INSERT INTO archive (id, title, createdAt) SELECT id, title, NOW() FROM old_archives;

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

关于node.js - 批量 postgres 插入,其中时间戳具有通过 sequelize 设置的空约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34614132/

相关文章:

postgresql - 如何使用Sequelize实现游标分页

java - PostgreSQL 多个 'WHERE' 条件(1000+)请求

postgresql - 从保留顺序的内部查询中选择有限的字段集

javascript - Mysql:sequelize 查询返回空结果

javascript - TypeError : customerFactory. getOrders 不是函数

javascript - 使用 contextify 从 Node vm 内部返回异步结果

javascript - 如何将 javascript 函数定义为变量中的变量

node.js - 使 Node Redis get() 同步

javascript - 可以 Sequelize sum、count、group by 还是我应该使用 sequelize.query 选项?

node.js - Sequelize .count() 无法返回结果