Auto-create mysql table with StrongLoop

后端 未结 8 833
栀梦
栀梦 2021-02-07 11:39

I am trying to use Strongloop with MySql but cannot figure out how to migrate or automatically create tables into a MySql database.

Is there at least a way to export the

8条回答
  •  梦谈多话
    2021-02-07 12:33

    I created /server/boot/autoupdate.js. It runs when the app boots. It loads "model-config" and "datasources" JSON and migrates or updates all models to the datasources defined for them.

    # /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();
    
    };
    

提交回复
热议问题