- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在环回应用程序中重命名了许多模型和表,但是我现在必须迁移到此模型定义。
我需要运行autoMigrate() 。它必须在 dataSource 对象上运行,但文档没有提供有关获取其中之一的帮助。
到目前为止,我已经在 /boot
中创建了一个新脚本,其中包含:
var loopback = require('loopback');
var app = module.exports = loopback();
app.loopback.DataSource.automigrate()
但是这个数据源对象不包含autoMigrate函数...
我尝试运行 Strongloop arc 来使用那里的自动迁移按钮,但页面因以下错误而崩溃:
Uncaught Error: [$injector:modulerr] Failed to instantiate module Arc due to:
Error: [$injector:modulerr] Failed to instantiate module Metrics due to:
Error: [$injector:nomod] Module 'Metrics' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.3.20/$injector/nomod?p0=Metrics
at http://localhost:56073/scripts/vendor/angular/angular.js:63:12
at http://localhost:56073/scripts/vendor/angular/angular.js:1778:17
at ensure (http://localhost:56073/scripts/vendor/angular/angular.js:1702:38)
at module (http://localhost:56073/scripts/vendor/angular/angular.js:1776:14)
at http://localhost:56073/scripts/vendor/angular/angular.js:4131:22
at forEach (http://localhost:56073/scripts/vendor/angular/angular.js:326:20)
at loadModules (http://localhost:56073/scripts/vendor/angular/angular.js:4115:5)
at http://localhost:56073/scripts/vendor/angular/angular.js:4132:40
at forEach (http://localhost:56073/scripts/vendor/angular/angular.js:326:20)
at loadModules (http://localhost:56073/scripts/vendor/angular/angular.js:4115:5)
http://errors.angularjs.org/1.3.20/$injector/modulerr?p0=Metrics&p1=Error%3…F%2Flocalhost%3A56073%2Fscripts%2Fvendor%2Fangular%2Fangular.js%3A4115%3A5)
at http://localhost:56073/scripts/vendor/angular/angular.js:63:12
at http://localhost:56073/scripts/vendor/angular/angular.js:4154:15
at forEach (http://localhost:56073/scripts/vendor/angular/angular.js:326:20)
at loadModules (http://localhost:56073/scripts/vendor/angular/angular.js:4115:5)
at http://localhost:56073/scripts/vendor/angular/angular.js:4132:40
at forEach (http://localhost:56073/scripts/vendor/angular/angular.js:326:20)
at loadModules (http://localhost:56073/scripts/vendor/angular/angular.js:4115:5)
at createInjector (http://localhost:56073/scripts/vendor/angular/angular.js:4041:11)
at doBootstrap (http://localhost:56073/scripts/vendor/angular/angular.js:1455:20)
at bootstrap (http://localhost:56073/scripts/vendor/angular/angular.js:1476:12)
http://errors.angularjs.org/1.3.20/$injector/modulerr?p0=Arc&p1=Error%3A%20…%2Flocalhost%3A56073%2Fscripts%2Fvendor%2Fangular%2Fangular.js%3A1476%3A12)
我只是需要更新模型,并且不明白为什么这如此困难。有人知道如何克服这些障碍吗?谢谢!
最佳答案
两个问题。
首先,您显示的是 Angular 客户端错误,而问题出在服务器端。
现在,回到问题的核心。
启动脚本必须导出单个函数,该函数在同步启动脚本的情况下仅接受回送对象(您的服务器),或者在异步启动脚本的情况下接受回送对象和回调。
编写启动脚本已记录在here中
函数datasource.automigrate
可以同步调用。 如果您不带参数调用它,默认情况下它将针对应用中的所有模型执行,这很可能是您想要的。
因此,如果您定义的数据库名称为 mysql
(在 ./server/datasources.json
中定义),则启动脚本为:
module.exports = function (app) {
app.dataSources.mysql.automigrate();
console.log("Performed automigration.");
}
您可以通过运行 node .
来检查其是否有效,而NOT则可以通过进入服务器正在监听的地址的浏览器来检查。 (与 Angular 相关的错误与启动脚本无关,它与客户端文件有关,很可能位于 client
文件夹中)。
它应该显示在终端中
Performed automigration.
关于loopbackjs - 如何在 Loopback 中自动迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40030074/
我在工作中使用 strongloop 的 loopbackjs 来实现 API。 对于模型 Cat我已经定义了一个远程方法,我们称之为 meow . 所以我可以这样做: GET /cats/{:id}
我在这样的环回中继承了一个模型- { "name": "MyModel", "base": "AnotherModel", "idInjection": false,
是否可以使用回送电子邮件数据源发送附件? 我在源文档中只能看到这些字段: @property {String} 到电子邮件收件人。必需的。 @property {String} 来自电子邮件发件人地址
我有两个通过 hasMany 关系关联的模型。 Customer hasMany CustomerPhones 创建新的 Customer 时,我想将相关的 CustomerPhones 作为单个请求
如何将用户、角色、用户角色映射等内置模型移动到我们创建的数据库而不是默认数据源:db?内置模型未在 Arc 中列出。 我尝试创建一个继承这些基本模型的新模型。但是,数据不会保存到新模型中。 请建议..
环回使用序列号作为型号ID。我可以在服务器端使用自己的ID生成器吗?我该怎么做呢? 最佳答案 可以在model definition file中将回送生成器(guid,uuid等)指定为id属性的默认
好吧,互联网公民,我需要一些帮助......我的 super 简单远程方法没有触发回调。相反,我收到此错误消息: /maestro/common/models/datalog.js:11
我正在使用环回进行 API 设计和数据建模。我使用 MySQL 作为我的数据库。尽管我的 API rest URL 成功返回了结果,例如/states/{id}/cities .我有以下模型,但似乎没
回送有两个区域,这些区域为静态文件设置了路径: server.js var path = require('path'); app.use(loopback.static(path.res
对于模型定义 product.js,我的 api 端点如下所示 api/products/9720?id_shop=1&id_lang=1 我需要访问 product.js 中的 id_shop 以在
我希望能够根据相关模型的属性进行过滤。例如,我有一个带有 Building 对象的 Class 对象。我想获得在某个建筑物中进行的类(class)列表。 这个过滤器 { "include":"
是否有规定的方法在环回中创建自定义验证器?例如,假设我想创建类似的东西: Validatable.validatesRange('aProperty', {min: 0, max: 1000}) 请注
我正在尝试向模型添加非静态远程方法。只需关注 code这里。不幸的是,我收到了一些错误消息。 以下是我的代码 User.prototype.lastOrder = function(callback)
我想做的事:有一个 html 表单,里面有一个文件输入。选择文件后,文件输入应上传文件,并获取文件 ID,因此提交表单时,文件 ID 会随表单一起发布并写入数据库。 简短版本:我想将元数据(例如 ID
是否有关于环回中错误处理的完整、一致且有据可查的信息来源? 诸如错误代码及其含义、与 http 状态的关系之类的东西。我已经阅读了他们的文档,但没有发现类似的内容。 我想翻译所有消息,以便为我的应用程
我有一个类似于下面的博客文章列表 [ { title: "Post #1", tags: ["foo", "bar"] }, {
'use strict'; module.exports = function (City) { City.GetCurrentPopulation = function (req) { var po
如何保证环回模型中多个字段组合的唯一性。下面是模型组织,我有两个字段名称和联系人,我希望这两个字段的组合在数据库中是唯一的。 例如:- 在创建组织时,两条记录可以在 中具有相同的值。 '姓名'字段而是
对于 LoopBack3,有一个帮助主题描述了如何将数据库更改实时流式传输到客户端:https://loopback.io/doc/en/lb3/Realtime-server-sent-events
我们的 MySQL 数据库设置了写集群和读集群,有没有办法设置 Strongloop Loopback 模型(例如用户)来写入 MySQL 主机 A 并从 MySQL 主机 B 读取? 最佳答案 如果
我是一名优秀的程序员,十分优秀!