【问题标题】:How to get automigrate to work with SQL Server如何让自动迁移与 SQL Server 一起工作
【发布时间】:2019-05-29 13:03:38
【问题描述】:

我无法让自动迁移和自动更新工作。

我创建了我的项目、数据源和模型。一切看起来都不错,但我无法自动迁移工作。如果我转到我的 SQL Server 并创建表/模式,那么所有 GET/POST 方法都可以正常工作。

我去了服务器/启动目录。目前里面有两个文件 authentication 和 root。

我创建了一个名为 automigrate.js 的新文件

'use strict';

 module.exports = function (app) {
   app.dataSources.mysql.automigrate();
   console.log("Performed automigration.");
}

当我运行它时,我得到一个错误:

C:\Users\ajmal\loopback\telematics\server\server.js:31 if (err) throw err; ^

TypeError: 无法读取未定义的属性“自动迁移”

在 Object.module.exports [as func] (C:\Users\ajmal\loopback\telematics\server\boot\automigrate.js:9:26)
在 C:\Users\ajmal\loopback\telematics\node_modules\loopback-boot\lib\executor.js:316:22

【问题讨论】:

  • 你确定你的数据源叫做mysql吗?检查您的文件 datasources.json 并确保您使用的数据源名称完全相同
  • 这就是问题所在。我使用连接器参数作为名称,而不是我的 datasourses.json 中的名称。发送

标签: sql-server loopbackjs


【解决方案1】:

您可以使用grunt-loopback-auto 模块或按照https://loopback.io/doc/en/lb3/Creating-a-database-schema-from-models.html#auto-update 的文档构建自己的模块

注意事项:

  • automigrate 将删除并重新创建表。因此,数据将会丢失。这对生产来说很糟糕。
  • autoupdate 计算 LoopBack 模型和数据库表定义之间的差异,并相应地更改表。

所以,我们几乎应该使用autoupdate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-21
    • 2014-06-11
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多