我有一个 Nodejs 应用程序,用于将值插入到我的 Postgres 数据库中。我发送的有效负载包含字符串、数字和 json 的混合值。我有一个脚本,每 10 分钟插入一条记录,其中包含两列 A(字符串)和 B 列(json)。插入成功。然而,几个小时后,sequealize 函数仅插入 A 列的值并跳过 B 列。然后在脚本中,如果我传递具有不同列(字符串或数字)的有效负载,它们会被插入,但 json 列不会被插入。然后我重新启动我的应用程序并运行脚本,成功插入数据库。
"msg":"The payload is :{\n \"userId\": \"user-1726164444155\",\n \"user\": \"abc\",\n \"customdata\": {\n \"test\": 10,\n \"profileComplete\": \"0.00\"\n },\n \"id\": \"x1623836053988_user-1726164444155\"\n}"}
执行(默认):插入“Users”(“id”,“userid”,“user”,“createdat”,“updatedat”)值($1,$2,$3,$4,$5)返回
它会跳过自定义数据的插入^。
INSERT INTO "Users" ("id","userid","user","customdata","createdat","updatedat") VALUES ($1,$2,$3,$4,$5,$6) RETURNING
但是,当我重新启动应用程序时,自定义数据的插入会成功进行。这里的customdata是json类型的。
每当我重新启动应用程序时,就会成功插入 json 列。不确定重新启动应用程序和记录插入之间的联系是什么。这可能不是 postgres DB 的问题,因为我可以直接在那里插入 json 类型的记录。 奇怪的是 Sequelize 不会抛出任何错误。 当前使用的版本:“sequelize”:“6.15.0”
如果你看到这个问题,你明白这个问题在问什么吗?为什么不直接粘贴最简单的代码