Browse Source

Fix: Do not expect a index.js file in models dir ( Which imports all the models )

master 0.1.0
Harish.K 8 years ago
parent
commit
2a8427c406
  1. 10
      README.md
  2. 25
      bin/main.js
  3. 2
      package.json

10
README.md

@ -1,2 +1,12 @@
# sequelize-migration-generator
Simple utility to automatically generate and manage sequelize migrations
### Installaion
```
npm i sequelize-migration-generator
```
## Usage
```
sequelize-migration-generator <sequelize_models_directory> <output_migration_directory>
```

25
bin/main.js

@ -11,6 +11,8 @@ var Model = Classes.Model;
var Field = Classes.Field;
var modelsDir = process.argv[2];
var migrationsDir = process.argv[3];
var Sequelize = require("sequelize");
var sequelize = new Sequelize();
function getAbsPath( relPath ){
@ -40,19 +42,34 @@ function createDir( pathName ){
}
}
function importModels( modelDir ){
fs.readdirSync( modelsDir )
.filter( v => v.match(/\.model\.js/) )
.forEach(function(file) {
sequelize.import( path.join(modelsDir, file));
});
var models = sequelize.models;
Object.keys(models).forEach(function(modelName) {
if ( models[modelName].associate) {
models[modelName].associate(models);
}
});
return models;
}
function main(){
modelsDir = getAbsPath( modelsDir );
migrationsDir = getAbsPath( migrationsDir );
createDir( migrationsDir );
log( 'modelsDir', modelsDir );
var models = require( modelsDir );
var models = importModels( modelsDir );
Object.keys( models )
.forEach( function( modelName, i){
if( [ 'Sequelize', 'sequelize'].indexOf(modelName) === -1 ){
genMigration( models[ modelName ], i );
}
genMigration( models[ modelName ], i );
});
}

2
package.json

@ -1,6 +1,6 @@
{
"name": "sequelize-migration-generator",
"version": "0.0.1",
"version": "0.1.0",
"description": "Sequelize migration file generator ",
"main": "index.js",
"scripts": {

Loading…
Cancel
Save