【问题标题】:SailJs is Deleting Data from pg databaseSails Js 正在从 pg 数据库中删除数据
【发布时间】:2015-11-23 15:24:42
【问题描述】:

我的应用程序发生了一些奇怪的事情,我正在使用带有官方 PostgreSQL 驱动程序的 SailsJs,并且我的数据被删除了。我没有删除数据的任何模式或特定事件列表,但我有以下观察结果。

  • 几天前我正在编写一个函数来销毁数据,当我 执行该函数它给了我一个错误我修复了错误并运行 我的网络应用又来了,我的一张桌子上的哇哦数据都不见了。
  • 昨天我写了一个函数,我试图让 HTTP 调用它 功能,但它给了我 500 服务器错误,我开始调试它 并在此错误部分执行我的程序 3 到 4 次后 数据已从我的一个数据库表中删除。后来的错误是我 网址中有错字。

如果你们中的任何人对我发生的事情有任何经验,请告诉我如何解决它?或者至少帮助我如何重现这个问题?

编辑

我激活了日志并等待它再次发生,它再次发生,这是来自sailsjs的日志

在日志中我看到它在谈论 alter.js 同步策略,但我选择它作为 safe 策略

【问题讨论】:

  • 您是否有任何来自 PG 或 Sails 的日志可以发布?只要它们来自您的开发环境。
  • @ChristianGrabowski 我没有任何日志,但我在我的应用程序上激活了日志
  • 忠告,不要向我们展示生产日志,如果那是您记录的地方。
  • @ChristianGrabowski 感谢您的建议
  • 您是否忘记在第二张照片中隐藏您的应用程序路径?就在sails lift 命令中

标签: node.js sails.js sails-postgresql


【解决方案1】:

这发生在我身上好几次了,当提升应用程序时,它正在对数据库进行更改并且它失败了,有时是由于 ORM 超时。

在 config/models.js migrate: 'alter',通常注释掉,你会得到一个提示,提示你要做什么 1... 2... 3...(从我的脑海中写出来,我不记得实际的消息)以及关于在生产系统上使用 alter 的警告。

改变 config/orm.js 有这个

    // config/orm.js
module.exports.orm = {
    _hookTimeout: 60000 // I used 60 seconds as my new timeout
};

由于我不知道更改 config/pubsub.js 的原因

// config/pubsub.js
module.exports.pubsub = {
    _hookTimeout: 60000 // I used 60 seconds as my new timeout
};

帮助了我,避免数据丢失。

【讨论】:

    猜你喜欢
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 2013-05-28
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多