【问题标题】:waterline transactions on multiple models多个模型上的水线事务
【发布时间】:2014-11-20 16:03:10
【问题描述】:

我正在使用 Sails waterline mysql 适配器来管理 MySQL 数据库,

在抑制期间我有 3 个模型,我必须在 Seire 中执行查询,但如果最后一个模型失败,我必须执行回滚。水线和交易是否可以实现。

【问题讨论】:

    标签: node.js sails.js waterline


    【解决方案1】:

    是的,您可以为此使用 Model.query 函数。它允许您执行任何本机 SQL 查询。例如

    var myQuery  = "select * from users";
    User.query(myQuery, function(err, result){
      if(err){
        // error handling here
      }
      else{
        // result handling here
      }
    })
    

    通过控制台日志仔细观察结果对象。

    对于您的情况,您需要编写一个 SQL 存储过程来执行事务中的所有操作。那么你的代码就变成了

    var myQuery = "call store_proc_name(params)";
    

    这里的结果对象理解起来会有点复杂。仔细分析一下。现在,使用本机查询时要注意的是,确保您转义用户提供的参数以避免 SQL 注入攻击

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多