环回错误:找不到模型:书:当我使用命令创建新模型后尝试运行时
Posted
技术标签:
【中文标题】环回错误:找不到模型:书:当我使用命令创建新模型后尝试运行时【英文标题】:loopback Error: Model not found: Book : When I try to run after creating a new model using command 【发布时间】:2016-11-25 22:09:47 【问题描述】:通过生成 slc loopback:model book 创建新模型时, 当我尝试运行 app 时,出现以下错误
> 错误:找不到模型:在 Function.registry.getModel 处预订 > (/home/joseph/node_projects/laplace-master/enquete/node_modules/loopback/lib/registry.js:273:9) > 在 > /home/joseph/node_projects/laplace-master/enquete/node_modules/loopback-boot/lib/executor.js:156:28 > 在 Array.forEach (native) 在 defineModels > (/home/joseph/node_projects/laplace-master/enquete/node_modules/loopback-boot/lib/executor.js:151:23) > 在 setupModels > (/home/joseph/node_projects/laplace-master/enquete/node_modules/loopback-boot/lib/executor.js:140:3) > 在执行 > (/home/joseph/node_projects/laplace-master/enquete/node_modules/loopback-boot/lib/executor.js:28:3) > 在 bootLoopBackApp > (/home/joseph/node_projects/laplace-master/enquete/node_modules/loopback-boot/index.js:125:3) > 在对象。 > (/home/joseph/node_projects/laplace-master/enquete/server/server.coffee:24:1) > 在对象。 > (/home/joseph/node_projects/laplace-master/enquete/server/server.coffee:1:1) > 在 Object.loadFile 的 Module._compile (module.js:409:26) > (/usr/lib/node_modules/coffee-script/lib/coffee-script/register.js:16:19) > 在 Module.load > (/usr/lib/node_modules/coffee-script/lib/coffee-script/register.js:45:36) > 在 Module.require 的 Function.Module._load (module.js:300:12) > (module.js:353:17) 在需要 (internal/module.js:12:17) 在 Object. > (/home/joseph/node_projects/laplace-master/enquete/handlers/conditionchecker/brand_condition.coffee:5:7) > 在对象。 > (/home/joseph/node_projects/laplace-master/enquete/handlers/conditionchecker/brand_condition.coffee:1:1) > 在 Object.loadFile 的 Module._compile (module.js:409:26) > (/usr/lib/node_modules/coffee-script/lib/coffee-script/register.js:16:19) > 在 Module.load > (/usr/lib/node_modules/coffee-script/lib/coffee-script/register.js:45:36) > 在 Module.require 的 Function.Module._load (module.js:300:12) > (module.js:353:17) 在需要 (internal/module.js:12:17) 在 Object. > (/home/joseph/node_projects/laplace-master/enquete/common/models/question-group.js:13:3) 在 Module._compile (module.js:409:26) 在 Object.Module._extensions.. js > (module.js:416:10) 在 Module.load > (/usr/lib/node_modules/coffee-script/lib/coffee-script/register.js:45:36) > 在 Module.require 的 Function.Module._load (module.js:300:12) > (module.js:353:17) at require (internal/module.js:12:17) at > /home/joseph/node_projects/laplace-master/enquete/node_modules/loopback-boot/lib/executor.js:170:20 > 在 Array.forEach (native) 在 defineModels > (/home/joseph/node_projects/laplace-master/enquete/node_modules/loopback-boot/lib/executor.js:151:23) > 在 setupModels > (/home/joseph/node_projects/laplace-master/enquete/node_modules/loopback-boot/lib/executor.js:140:3) > 在执行 > (/home/joseph/node_projects/laplace-master/enquete/node_modules/loopback-boot/lib/executor.js:28:3) > 在 bootLoopBackApp > (/home/joseph/node_projects/laplace-master/enquete/node_modules/loopback-boot/index.js:125:3) > 在对象。 > (/home/joseph/node_projects/laplace-master/enquete/server/server.coffee:24:1) > 在对象。 > (/home/joseph/node_projects/laplace-master/enquete/server/server.coffee:1:1) > 在 Object.exports.run 的 Module._compile (module.js:409:26) > (/usr/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:154:23) > 在 compileScript > (/usr/lib/node_modules/coffee-script/lib/coffee-script/command.js:224:29) > 在编译路径 > (/usr/lib/node_modules/coffee-script/lib/coffee-script/command.js:174:14) > 在 Object.exports.run > (/usr/lib/node_modules/coffee-script/lib/coffee-script/command.js:98:20) > 在对象。 (/usr/lib/node_modules/coffee-script/bin/coffee:7:41)在 > 模块._compile (module.js:409:26) 在 Object.Module._extensions..js > (module.js:416:10) 在 Module.load (module.js:343:32) 在 > Function.Module._load (module.js:300:12) 在 Function.Module.runMain > (module.js:441:10) 在启动时 (node.js:139:18) 在 node.js:968:3这是我的模型类和配置文件。
book.js
module.exports = function(Book)
;
book.json
"name": "Book",
"base": "PersistedModel",
"idInjection": true,
"options":
"validateUpsert": true
,
"properties":
"id":
"type": "string",
"required": true,
"default": "1"
,
"name":
"type": "string",
"required": true,
"default": "nil"
,
"validations": [],
"relations": ,
"acls": [],
"methods":
在 server/model-config.json 中
"_meta":
"sources": [
"../common/models",
"./models"
]
,
"User":
"dataSource": "db"
,
"AccessToken":
"dataSource": "mysql",
"public": false
,
"ACL":
"dataSource": "mysql",
"public": false
,
"RoleMapping":
"dataSource": "mysql",
"public": false
,
"Role":
"dataSource": "mysql",
"public": false
,
"Book":
"dataSource": "mysql",
"public": false
请帮忙解决这个问题。
【问题讨论】:
这方面有什么更新吗? 【参考方案1】:我相信您可能没有在数据源中初始化模型。
您需要在启动脚本中运行以下代码(例如,将代码保存到 ./server/boot/prepare-db.js
。给它起您想要的名称,但它必须在 ./server/boot
子文件夹中。)
module.exports = function prepareDB(app, cb)
var ds = app.dataSources.mysql;
ds.automigrate(function()
console.log("MySQL db ready");
);
automigrate
函数记录在 here。
【讨论】:
以上是关于环回错误:找不到模型:书:当我使用命令创建新模型后尝试运行时的主要内容,如果未能解决你的问题,请参考以下文章