[英]Mysql ER_BAD_FIELD_ERROR on findOne with loopback
我目前正在使用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連接器)
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的一個問題是安裝了錯誤版本的環回,因為我沒有修復我的依賴版本號並且有"loopback": "^3.0.0"
當我需要"loopback": "3.0.0",
^
表示npm可能需要一個更新的次要版本,在我的情況下發生並完全破壞了我與我的數據庫的連接。
如果它與其他任何人發生過,請不要忘記之后刪除並重新安裝節點模塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.