Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I'm receiving a ERROR: sequelize is not defined #102

Closed
magacho opened this issue Jun 22, 2020 · 2 comments
Closed

I'm receiving a ERROR: sequelize is not defined #102

magacho opened this issue Jun 22, 2020 · 2 comments

Comments

@magacho
Copy link

magacho commented Jun 22, 2020

I'm new in Node and also sequelize, can anyone help me with that.
I'll send my files but the config.json and config.js.
I'm getting this error during the execution of sequelize db:migrate:

sequelize db:migrate

Sequelize CLI [Node: 12.18.1, CLI: 5.5.1, ORM: 5.21.13]

Loaded configuration file "config/config.js".
Using environment "development".
== 20200622031102-create_package_table: migrating =======

ERROR: sequelize is not defined

this is my models/index.js
`'use strict';

const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../../config/config.json')[env];
const db = {};

console.log('Iniciando sequelize!!!!');

var sequelize;
if (config.use_env_variable) {
//sequelize = new Sequelize(process.env[config.use_env_variable], config);
sequelize = new Sequelize(process.env["development"], config);
console.log('sequelizeCriado');
} else {
sequelize = new Sequelize(config.database, config.username, config.password, config);
}

fs
.readdirSync(__dirname)
.filter(file => {
return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
})
.forEach(file => {
const model = sequelize['import'](path.join(__dirname, file));
db[model.name] = model;
});

Object.keys(db).forEach(modelName => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});

sequelize
.authenticate()
.then(() => {
console.log("Connection has been established succesfully");
})
.catch((err) => {
console.log("Unable to connect to the database:", err);
});

db.sequelize = sequelize;
db.Sequelize = Sequelize;

module.exports = db;
global.sequelize = db.sequelize;
`

this is one of my models package.js

`const db = require('.');

'use strict';

module.exports = (sequelize, DataTypes) => {
var Package = sequelize.define('Package', {
id: {
type: sequelize.BIGINT,
allowNull: false,
primaryKey: true,
autoIncrement: true
},
name: {
type: sequelize.STRING,
allowNull: false
},
creationDate: {
type: sequelize.DATE,
allowNull: false,
field: "createdAt"
},
tackingCode: {
type: sequelize.STRING,
allowNull: false,
field: "tackingCode",
validate: {
len: [13, 13],
is: ["^[A-Z]{2}[1-9]{9}[A-Z]{2}$", 'i']
}
},
isDelivered: {
type: sequelize.BOOLEAN,
allowNull: false,
defaultValue: true,
field: "isDelivered"
}

}, {
tableName: 'Packages',
sequelize,
modelName: 'Package',
timestamps: true
});
Package.associate = function (models) {
models.Package.hasMany(models.PackageCheck, {
onDelete: "CASCADE",
foreignKey: {
allowNull: false
}
});

};
return Package;
};`
It seems that the index.js is not running in the migration process.

@magacho magacho closed this as completed Jun 22, 2020
@magacho
Copy link
Author

magacho commented Jun 22, 2020

Should have been opened in cli project. Sorry.

@bahuy5696
Copy link

Should have been opened in cli project. Sorry.

I'm new in Node and also sequelize, can anyone help me with that.
I'll send my files but the config.json and config.js.
I'm getting this error during the execution of sequelize db:migrate:

sequelize db:migrate

Sequelize CLI [Node: 12.18.1, CLI: 5.5.1, ORM: 5.21.13]

Loaded configuration file "config/config.js".
Using environment "development".
== 20200622031102-create_package_table: migrating =======

ERROR: sequelize is not defined

this is my models/index.js
`'use strict';

const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../../config/config.json')[env];
const db = {};

console.log('Iniciando sequelize!!!!');

var sequelize;
if (config.use_env_variable) {
//sequelize = new Sequelize(process.env[config.use_env_variable], config);
sequelize = new Sequelize(process.env["development"], config);
console.log('sequelizeCriado');
} else {
sequelize = new Sequelize(config.database, config.username, config.password, config);
}

fs
.readdirSync(__dirname)
.filter(file => {
return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
})
.forEach(file => {
const model = sequelize['import'](path.join(__dirname, file));
db[model.name] = model;
});

Object.keys(db).forEach(modelName => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});

sequelize
.authenticate()
.then(() => {
console.log("Connection has been established succesfully");
})
.catch((err) => {
console.log("Unable to connect to the database:", err);
});

db.sequelize = sequelize;
db.Sequelize = Sequelize;

module.exports = db;
global.sequelize = db.sequelize;
`

this is one of my models package.js

`const db = require('.');

'use strict';

module.exports = (sequelize, DataTypes) => {
var Package = sequelize.define('Package', {
id: {
type: sequelize.BIGINT,
allowNull: false,
primaryKey: true,
autoIncrement: true
},
name: {
type: sequelize.STRING,
allowNull: false
},
creationDate: {
type: sequelize.DATE,
allowNull: false,
field: "createdAt"
},
tackingCode: {
type: sequelize.STRING,
allowNull: false,
field: "tackingCode",
validate: {
len: [13, 13],
is: ["^[A-Z]{2}[1-9]{9}[A-Z]{2}$", 'i']
}
},
isDelivered: {
type: sequelize.BOOLEAN,
allowNull: false,
defaultValue: true,
field: "isDelivered"
}

}, {
tableName: 'Packages',
sequelize,
modelName: 'Package',
timestamps: true
});
Package.associate = function (models) {
models.Package.hasMany(models.PackageCheck, {
onDelete: "CASCADE",
foreignKey: {
allowNull: false
}
});

};
return Package;
};`
It seems that the index.js is not running in the migration process.

How to fix this error man ??

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants