我正在尝试为我的 Node 应用程序创建一个 mysql 数据库连接,并运行 sequelize.authenticate().then(function(errors) { console.log(errors) });
来测试是否连接成功了。记录到我的控制台的响应是正在执行(默认):SELECT 1+1 AS 结果未定义
未定义
部分让我认为连接要么不起作用,要么没有找到任何数据库。我似乎无法弄清楚这一点。我认为通过 Sequel Pro 创建数据库并通过 Socket 连接到 localhost ,我可以使用相同的凭据来连接我的 Node 应用程序。我是否需要在我的应用程序中为数据库创建一个文件而不使用 Sequel Pro 数据库?
Controller 文件(在其中创建连接):
var Sequelize = require('sequelize');
var sequelize = new Sequelize('synotate', 'root', '', {
host:'localhost',
port:'3306',
dialect: 'mysql'
});
sequelize.authenticate().then(function(errors) { console.log(errors) });
var db = {}
db.Annotation = sequelize.import(__dirname + "/ann-model");
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
ann-model.js(定义我的表的地方):
module.exports = function(sequelize, DataTypes) {
var Ann = sequelize.define('annotations', {
ann_id: {
type: DataTypes.INTEGER,
primaryKey: true
},
ann_date: DataTypes.DATE,
}, {
freezeTableName: true
});
return Ann;
}
最佳答案
试试这个,执行(默认):SELECT 1+1 AS 结果
意味着一切正常
sequelize
.authenticate()
.then(function(err) {
if (!!err) {
console.log('Unable to connect to the database:', err)
} else {
console.log('Connection has been established successfully.')
}
});
但我不知道你从哪里得到undefined
关于mysql - NodeJS - 连接到本地 Mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33962259/