强环发现模型仍然是空的 [英] Strongloop discovery model still empty

查看:115
本文介绍了强环发现模型仍然是空的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Strongloop在Node.js中创建一个RESTful API。我配置了数据库连接,并且连接测试正常。



现在我正在尝试将我的模型从我的数据库导入到Strongloop。我使用发现模型选项,但是当我点击它时出现一个窗口,但表格保持空白。然而,我确信我的数据库正在处理很多表格。 (我正在使用带有Heroku帐户的ClearDB数据库)



有人可以帮我吗?谢谢

解决方案

我发现我必须定义我想在这里发现的数据库

  ds.discoverModelDefinitions({schema:'YOUR-DB-NAME'} 

var _ = require('lodash'); var path = require('path'); var fs = require('fs'); var loopback = require('loopback'); var outputPath = path.resolve(__ dirname,'../common/models');var ds = loopback.createDataSource('mysql',require ('../ server / datasources')。local); ds.discoverModelDefinitions({schema:'YOUR-DB-NAME'},function(err,models){var count = models.length; _each(models,函数(model){ds.discoverSchema(model.name,{associations:true},function(err,schema){var outputName = outputPath +'/'+ schema.n ame +'.json'; fs.writeFile(outputName,JSON.stringify(schema,null,2),function(err){if(err){console.log(err); }其他{console.log(JSON保存到+ outputName); }}); fs.writeFile(outputPath +'/'+ schema.name +'.js',jsFileString(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();返回; }}); })}); function function capitaliseFirstLetter(string){return string.charAt(0).toUpperCase()+ string.slice(1);} function jsFileString(model_name){return''+'module.exports = function('+' ';';}


I am using Strongloop to create a RESTful API in Node.js. I configured the database connection and the connection test is ok.

Now what i am trying is importing my models from my database to Strongloop. I use the "Discover models" option but when i click on it a window appears but the tables remain blank.

However I am sure that my database is contening a lot of tables. (I am using a ClearDB database with an Heroku account)

Can someone please help me? Thank you

解决方案

I found I had to define the database that I wanted to discover here

ds.discoverModelDefinitions({ schema: 'YOUR-DB-NAME' }

var _ = require('lodash');
var path = require('path');
var fs = require('fs');
var loopback = require('loopback');

var outputPath = path.resolve(__dirname, '../common/models');
var ds = loopback.createDataSource('mysql', require('../server/datasources').local);

ds.discoverModelDefinitions({ schema: 'YOUR-DB-NAME' }, function (err, models) {

    var count = models.length;
  
  _.each(models, function(model){
    ds.discoverSchema(model.name, {  associations: true }, function(err, schema){
      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', jsFileString(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;
      }
    });
  })
});


function capitaliseFirstLetter(string) {
    return string.charAt(0)
        .toUpperCase() + string.slice(1);
}

function jsFileString(model_name) {
    return '' + 'module.exports = function(' + capitaliseFirstLetter(model_name) + ') {\n' + '\t\n' + '};';
}

这篇关于强环发现模型仍然是空的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆