【问题标题】:Mysql ER_BAD_FIELD_ERROR on findOne with loopback带有环回的 findOne 上的 Mysql ER_BAD_FIELD_ERROR
【发布时间】:2017-10-21 06:17:26
【问题描述】:

我目前正在使用 AngularJS、Loopback 和 MySQL 构建一个 webapp。它工作了一段时间,最近我从前端发出的大多数环回请求都因内部服务器错误而开始失败。

Error: ER_BAD_FIELD_ERROR: Unknown column 'scopes' in 'field list'

我正在使用 Loopback Angular SDK 在前端发出请求。我真的不明白为什么它要搜索列范围,因为当我有它的 id 时我调用它来搜索用户。

    $scope.user = !$scope.isLoggedIn ? {} : Appuser.findOne({
    filter: {
      where: { id: Appuser.getCurrentId() }
    }
  }).$promise.then(function(res){
    $scope.user = res;
  });

我最近开始在这个应用程序上使用 webpack,最近还重新安装了我的所有节点模块,我不知道它是否会产生影响,但我怀疑是这样,因为当我一次恢复提交时所有工作都罚款问题仍然存在。但是,由于我为我的模块使用 npm 和 package.json,我不明白可能出了什么问题。

【问题讨论】:

标签: mysql angularjs npm webpack loopbackjs


【解决方案1】:

我在下面解决了它(我正在使用 mysql 连接器)

ALTER TABLE AccessToken ADD COLUMN `scopes` TEXT NULL;

我在 ./node_modules/loopback/common/models/access-token.json 找到了新字段。

"scopes": {
    "type": ["string"],
    "description": "Array of scopes granted to this access token."
}

【讨论】:

    【解决方案2】:

    经过一番研究,我找到了答案。 npm 安装了错误版本的环回是一个问题,因为我没有修复我的依赖版本号,并且在我需要 "loopback": "3.0.0", 时有 "loopback": "^3.0.0"^ 表示 npm 可能会采用更新的次要版本,在我的情况下发生了这种情况并完全中断了我与数据库的连接。

    如果其他人发生这种情况,请不要忘记删除并在之后重新安装您的节点模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-05
      • 1970-01-01
      • 2015-05-31
      • 2012-11-06
      相关资源
      最近更新 更多