Mysql ER_BAD_FIELD_ERROR on findOne with loopback



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

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

我正在使用环回 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连接器(

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."
}

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

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

相关内容

  • 没有找到相关文章

最新更新