我试图在MySql中使用Strongloop,但无法理解如何将表迁移或自动创建到MySql数据库中。
是否至少有一种将模型导出到MySql模式的方法,还是必须手动创建表?
我一直在尝试使用mysql演示应用程序,并浏览了一段时间的文档,但是没有运气- http://docs.strongloop.com/display/DOC/MySQL+connector。
谢谢!
发布于 2015-06-29 07:27:22
我创建了/server/boot/autoupdate.js
。它在应用程序启动时运行。它加载“模型-配置”和“数据源”JSON,并将所有模型迁移或更新到为它们定义的数据源。
# /server/boot/autoupdate.js
module.exports = function(app) {
var path = require('path');
var models = require(path.resolve(__dirname, '../model-config.json'));
var datasources = require(path.resolve(__dirname, '../datasources.json'));
function autoUpdateAll(){
Object.keys(models).forEach(function(key) {
if (typeof models[key].dataSource != 'undefined') {
if (typeof datasources[models[key].dataSource] != 'undefined') {
app.dataSources[models[key].dataSource].autoupdate(key, function (err) {
if (err) throw err;
console.log('Model ' + key + ' updated');
});
}
}
});
}
function autoMigrateAll(){
Object.keys(models).forEach(function(key) {
if (typeof models[key].dataSource != 'undefined') {
if (typeof datasources[models[key].dataSource] != 'undefined') {
app.dataSources[models[key].dataSource].automigrate(key, function (err) {
if (err) throw err;
console.log('Model ' + key + ' migrated');
});
}
}
});
}
//TODO: change to autoUpdateAll when ready for CI deployment to production
autoMigrateAll();
//autoUpdateAll();
};
发布于 2014-12-05 02:28:06
只需将以下行添加到server.js文件中的app.start方法之前,即可迁移模型:
app.datasources['mySqlConnection'].automigrate(['orders','customers', 'User', 'ACL'], function(err) {
console.log(err);
});
slc run
运行应用程序。注意:
mySqlConnection
是连接名,代之以您自己的连接名。
发布于 2016-09-29 11:22:39
若要更新和/或为模型创建所有mysql表,请执行以下操作:
var dataSource = app.dataSources.mysql;
dataSource.autoupdate(null, function (err) {
if(err) return cb(err);
return cb();
});
https://stackoverflow.com/questions/23168958
复制相似问题