所以,我在我的项目中使用 mysql npm 包已经有一段时间了,我想在我的一个项目的某些部分使用 Sequelize。但是当我在方言中传递“mysql”作为值时,它抛出了错误。
这是错误:
抛出新错误(
Please install ${moduleName} package manually
);
错误:请手动安装mysql2包
这是我的续集代码:
const sequelize = new Sequelize({
dialect: "mysql",
host: process.env.DB_HOST,
username: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_DATABASE,
port: process.env.DB_PORT
});
try {
sequelize.authenticate();
console.log('Connection has been established successfully.');
} catch (error) {
console.error('Unable to connect to the database:', error);
}
sequelize.close();
所以我的第一个问题是我可以使用mysql,还是应该切换到mysql2? 或者,如果我要切换到 mysql2,将依赖项中的 mysql 替换为 mysql2 是否有效(无需更改任何内容,即 mysql 中的查询或方法)?
我的意思是:
const mysql = require("mysql");
const mysql = require("mysql2");
Sequelize 特别需要
mysql2
包作为其默认的 MySQL 方言引擎。因此,要使用 Sequelize,您不能使用 mysql
包; 您必须使用mysql2
。
如果您从
mysql
切换到 mysql2
,它通常应该在大多数用例中无缝工作,因为 mysql2
旨在成为 mysql
的直接替代品。
因此,使用命令
mysql
卸载 npm uninstall mysql
,然后使用命令 mysql2
安装
npm i mysql2
我希望这能解决你的问题🤞