When using the sequalize db:migrate command I am getting the following error. Looking at some of the previous comments on similar issues people said it is a dependency issue but whenever I run
npm install mysql2
or
npm install -g mysql2
I get the same error.
larry@DESKTOP-NSSNPRR:/mnt/c/Users/larry/Desktop/node/AAF-NodeJS$
sequelize db:migrate
Sequelize CLI [Node: 10.1.0, CLI: 4.0.0, ORM: 4.37.10]
(node:2241) ExperimentalWarning: The fs.promises API is experimental
Loaded configuration file "db/config/database.json".
Using environment "development".
ERROR: Please install mysql2 package manually
Here is my package.json like some of you have asked for.
{
"name": "aaf-website-node",
"version": "0.0.1",
"description": "Nodejs implementation of the achieve anything website",
"main": "app.js",
"scripts": {
"start": "node bin/www",
"dev": "node node_modules/nodemon/bin/nodemon.js bin/www",
"test": "jasmine",
"console": "node console.js"
},
"repository": {
"type": "git",
"url": "https://github.com/AchieveGirl/AAF-NodeJS.git"
},
"keywords": [
"nodejs",
"express"
],
"author": "Larry Cherry",
"license": "MIT",
"bugs": {
"url": "https://github.com/AchieveGirl/AAF-NodeJS/issues"
},
"homepage": "https://github.com/AchieveGirl/AAF-NodeJS/blob/master/README.md",
"dependencies": {
"body-parser": "^1.18.2",
"bootstrap": "^4.0.0",
"compression": "^1.7.2",
"cookie-parser": "^1.4.3",
"dotenv": "^5.0.1",
"ejs": "^2.5.7",
"eslint": "^4.19.1",
"express": "^4.16.3",
"express-ejs-layouts": "^2.3.1",
"express-minify": "^1.0.0",
"express-minify-html": "^0.12.0",
"jquery": "^3.3.1",
"lodash": "^4.17.5",
"morgan": "^1.9.0",
"mysql2": "^1.5.3",
"node-fetch": "^2.1.2",
"node-minify": "^2.4.1",
"popper.js": "^1.14.3",
"sequelize": "^4.37.10",
"sequelize-cli": "^4.0.0",
"serve-favicon": "^2.4.5",
"webpack": "^4.1.1",
"webpack-cli": "^2.0.12"
},
"devDependencies": {
"nodemon": "^1.17.2",
"pryjs": "^1.0.3"
}
}
So I finally figured out the bug. The issue appears to come from when you are calling the migration from global install of sequelize-cli instead of the locally installed version of sequelize in my project. All I had to do was call the script form the node modules folder and it worked perfectly. I was calling the command this way sequelize db:migrate
when I needed to call the local installed package this way node_modules/.bin/sequelize db:migrate