首页 > 解决方案 > 如何让自动迁移与 SQL Server 一起工作

问题描述

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

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

我去了服务器/引导目录。目前有两个文件在那里身份验证和根目录。

我创建了一个名为 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-引导\lib\executor.js:316:22

标签: sql-serverloopbackjs

解决方案


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

笔记:

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

因此,我们应该autoupdate在几乎所有情况下使用。


推荐阅读