Loopback默认模型带有mysql数据库

Rom*_*cea 1 express strongloop loopbackjs

我正在尝试环回,并注意到在model-config文件中它引用了5个模型,它们dataSource设置为内存数据库db:

  "User": {
    "dataSource": "db"
  },
  "AccessToken": {
    "dataSource": "db",
    "public": false
  },
  "ACL": {
    "dataSource": "db",
    "public": false
  },
  "RoleMapping": {
    "dataSource": "db",
    "public": false
  },
  "Role": {
    "dataSource": "db",
    "public": false
  }
Run Code Online (Sandbox Code Playgroud)

是否需要将用户,acl等保留在内存中?如果没有,我该如何将这些模型移植到mysql?我尝试切换dataSource到我的mysql源,但服务器抱怨,因为表不存在.

Ano*_*P.A 6

复制粘贴server/server.js中的以下代码.(最好到最后)

var appModels = ['User', 'AccessToken', 'ACL', 'RoleMapping', 'Role'];

var ds = app.dataSources.mysqlDS;
ds.isActual(appModels, function(err, actual) {
  if (!actual) {
    ds.autoupdate(appModels, function(err) {
      if (err) throw (err);
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

不要忘记将模型的数据源更改为model-config.json中的新数据源.在代码中将mysqlDS替换为您的数据源.

干杯!

参考:https: //loopback.io/doc/en/lb3/Creating-database-tables-for-built-in-models.html