在按照cockroachdb 示例使用 node.js 的sequelize orm构建应用程序时,我对其进行了扩展以添加模型之间的关联。主键是 INT,通过 unique_rowid() 自动递增。根据您的文档,这是您的SERIAL实现。
同步我的模型后,我尝试使用以下代码创建记录:
models.sequelize.sync({ force: true })
.then(function () {
return models.Customer.create({
name: "Sample Customer"
})
})
.then(function (result) {
const id = parseInt(result.dataValues.id, 10)
return models.Order.bulkCreate([
{ subtotal: 100.00, customer_id: id },
{ subtotal: 200.00, customer_id: id }
])
})
当它运行时,我得到“ error: foreign key violation: value [255737842446434300] not found in customers@primary [id]
”
我意识到我的parseInt似乎没有获取从客户创建返回的字符串 id 所需的精度,但我不知道如何实现这一点。