环回:从MySql导入模型
问题如下: 我有一个用MySql设计的数据库和模式,我正在尝试将自动导入api库中,以回送模型来使用它们。 我已经阅读了以下帮助: 但它不起作用 我已尝试更改数据记录器的清单(数据库中表的名称)环回:从MySql导入模型,mysql,node.js,loopbackjs,loopback,Mysql,Node.js,Loopbackjs,Loopback,问题如下: 我有一个用MySql设计的数据库和模式,我正在尝试将自动导入api库中,以回送模型来使用它们。 我已经阅读了以下帮助: 但它不起作用 我已尝试更改数据记录器的清单(数据库中表的名称) var loopback = require('loopback'); var ds = loopback.createDataSource('mysql', { "host": "localhost", "port": 3306, "database": "maintenancetooldb", "u
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;
}
});
})
});
回答很好,但您应该使用此模板修改model.js文件内容,一般为:
'use strict';module.exports=function(${schema.name}){}