Итак, я уже некоторое время использую пакет 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.info('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 в качестве механизма диалекта MySQL по умолчанию требуется пакет mysql2. Таким образом, для использования Sequelize вы не можете использовать пакет mysql; вы должны использовать mysql2.
Если вы переключитесь с mysql на mysql2, в большинстве случаев он, как правило, должен работать без проблем, поскольку mysql2 призван стать полной заменой mysql.
Итак, удалите mysql с помощью команды npm uninstall mysql, а затем установите mysql2 с помощью команды npm i mysql2.
Надеюсь, это решит вашу проблему 🤞