mysql - LoopBack:从 MySql 导入模型

标签 mysql node.js loopbackjs loopback

问题如下: 我有一个在 MySql 中设计的数据库和模式,我正在尝试将模型自动导入到 LoopBack 中的 api 库中以与它们一起使用。 我已阅读以下帮助: 奥 git _a 但它不起作用。

我尝试过更改数据记录器的库存(数据库中表的名称。

var loopback = require('loopback');
var ds = loopback.createDataSource('mysql', {
"host": "localhost",
"port": 3306,
"database": "maintenancetooldb",
"username": "root",
"password": "Password_4567"
});

// Discover and build models from INVENTORY table
ds.discoverAndBuildModels('datalogger', {visited: {}, associations: true},
function (err, models) {
console.log(JSON.stringify(inv, null, 2));
// Now we have a list of models keyed by the model name
// Find the first record from the inventory
models.datalogger.findOne({}, function (err, inv) {
if(err) {
  console.error(err);
  console.log(JSON.stringify(inv, null, 2));
  return;
 }
console.log("\nInventory: ", inv);

// Navigate to the product model
// Assumes inventory table has a foreign key relationship to product table
inv.product(function (err, prod) {
  console.log("\nProduct: ", prod);
  console.log("\n ------------- ");
 });
 });
});

说实话我迷路了,昨天我第一次使用sequelize-auto,但是今天要求已经改变了。

预先感谢您的帮助。

最佳答案

你能试试这个吗

var _ = require('lodash');
var path = require('path');
var fs = require('fs');
var loopback = require('loopback');
var outputPath = '/home/rahul/Loopback/Helloworld/common/models';
var loopback = require('loopback');
var ds = loopback.createDataSource('mysql', {
  "host": "localhost",
  "port": 3306,
  "database": "XXX",
  "username": "XXX",
  "password": "XXX"
});
ds.discoverModelDefinitions({ schema: 'My-schema' }, function (err, models) {

    var count = models.length;

  _.each(models, function(model){
    //console.log(model.name);
    ds.discoverSchema(model.name, {  associations: false }, function(err, schema){ // instead of model.name just mention your table name
      //console.log("GG0");
      //console.log("GG"+schema.name);
      var outputName = outputPath + '/' +schema.name + '.json';
      fs.writeFile(outputName, JSON.stringify(schema, null, 2), function(err) {
        if(err) {
          console.log(err);
        } else {
          console.log("JSON saved to " + outputName);
        }
      });
      fs.writeFile(outputPath + '/' + schema.name + '.js', schema.name, function(err) {
        if (err) throw err;
        console.log('Created ' + schema.name + '.json file');
      });
      count = count - 1;
      if (count === 0) {
        console.log("DONE!", count);
        ds.disconnect();
        return;
      }
    });
  })
});

关于mysql - LoopBack:从 MySql 导入模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46820002/

相关文章:

mysql - 如何正确获取图表值统计

mysql - 使用触发器作为 SQL 聚合函数的替代方案?

javascript - FFmpeg HLS 单个文件扩展名和按字节范围格式化

angularjs - 在 Angular 中使用 lb-services 计数服务

transactions - Loopback4 中的事务支持吗?

mysql - 在 Rails 应用程序中实时显示打开/关闭

mysql - Hibernate mysql 问题

node.js - 运行 Express JS 的 Azure 应用服务中的 CORS header

node.js - 体式 API : data block in create task endpoint

node.js - 将几何图形(JSON)插入loopbackjs模型中