mirror of
https://github.com/harish2704/sequelize-migration-generator.git
synced 2026-09-10 06:31:07 +00:00
Fix: Do not expect a index.js file in models dir ( Which imports all the models )
This commit is contained in:
@@ -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>
|
||||
```
|
||||
|
||||
+20
-3
@@ -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 );
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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": {
|
||||
|
||||
Reference in New Issue
Block a user