我有一个以前一直在远程访问(使用 php)的数据库,现在我正在尝试设置 sequelize 以连接到同一个远程服务器数据库:
为此,我有以下 json
(database.json):
{
"dev": {
"server": "serverip",
"driver": "mysql",
"user": "username",
"port": "3306",
"database": "databasename",
"password": "password"
}
}
(我排除了敏感数据)
现在我从
server.js
连接到数据库的方式是: var env = app.get('env') == 'development' ? 'dev' : app.get('env');
var port = process.env.PORT || 8080;
var Sequelize = require('sequelize');
// db config
var env = "dev";
var config = require('./database.json')[env];
var password = config.password ? config.password : null;
// initialize database connection
var sequelize = new Sequelize(
config.server,
config.database,
config.user,
config.port,
config.password,
{
logging: console.log,
define: {
timestamps: false
}
}
);
关于这一点的“悲伤”是我没有抛出任何错误,但我知道它没有连接,因为它没有从数据库中收集任何数据。
那么我做错了什么?
最佳答案
查看用于创建新 sequelize 实例的 API 文档:http://docs.sequelizejs.com/en/latest/api/sequelize/
只有数据库、用户和密码应该作为参数传递,其余的在选项对象中。
var sequelize = new Sequelize(
config.database,
config.user,
config.password,
{
port: config.port,
host: config.server,
logging: console.log,
define: {
timestamps: false
}
}
);
关于javascript - sequelize 远程数据库访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29259135/