Модель открытия Strongloop все еще пуста
Я использую Strongloop для создания RESTful API в Node.js. Я настроил соединение с базой данных, и проверка соединения в порядке.
Теперь я пытаюсь импортировать мои модели из базы данных в Strongloop. Я использую опцию "Обнаружить модели", но когда я нажимаю на нее, появляется окно, но таблицы остаются пустыми.
Однако я уверен, что моя база данных содержит множество таблиц. (Я использую базу данных ClearDB с учетной записью Heroku)
Может кто-нибудь, пожалуйста, помогите мне? Спасибо
1 ответ
Я обнаружил, что должен был определить базу данных, которую я хотел найти здесь
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' + '};';
}