diff --git a/package.json b/package.json index 89b5347..e1c97a2 100644 --- a/package.json +++ b/package.json @@ -18,5 +18,8 @@ "bugs": { "url": "https://github.com/harish2704/sequelize-migration-generator/issues" }, - "homepage": "https://github.com/harish2704/sequelize-migration-generator#readme" + "homepage": "https://github.com/harish2704/sequelize-migration-generator#readme", + "dependencies": { + "ect": "^0.5.9" + } } diff --git a/src/gen-migrations.js b/src/gen-migrations.js index 2896e9b..cd69691 100644 --- a/src/gen-migrations.js +++ b/src/gen-migrations.js @@ -1,5 +1,7 @@ var util = require('util'); +var appRoot = __dirname + '/'; +var pwd = process.env.PWD + '/'; if( typeof exports == 'undefined' ){ global.exports = {}; } @@ -104,23 +106,16 @@ exports.Model = Model; if( require.main == module ){ - - var models = require('./models'); + var modelsDir = process.argv[2]; + var models = require( pwd + modelsDir ); var ect = require('ect')(); var fs = require( 'fs'); - - [ - 'model1', - 'model2', - 'model3', - 'model4', - 'model5', - - ].forEach( function(modelName, i ){ + var modelNames = Object.keys( models ).filter( function(v){ return (['Sequelize', 'sequelize' ].indexOf(v) === -1) } ); + modelNames.forEach( function(modelName, i ){ var m = new Model( models[modelName] ); - var out = ect.render('./data/migration-file.js.ect', { model: m, fieldOpts: Field.opts }); + var out = ect.render( appRoot + '../data/migration-file.js.ect', { model: m, fieldOpts: Field.opts }); var timestamp = new Date( Date.now() + i ).toISOString().replace(/[-:.TZ]/g, ''); - fs.writeFileSync( './migrations/' + timestamp + '-create_table_' + modelName + '_mi-generated.js', out ); + fs.writeFileSync( pwd + 'migrations/' + timestamp + '-create_table_' + modelName + '_mi-generated.js', out ); }); }