续集远程数据库访问

sequelize remote database access

我有一个以前一直在远程访问(使用 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
        }
    }
);

关于此的 "sad" 事情是我没有抛出任何错误,但我知道它没有连接,因为它没有从数据库收集任何数据。

那我做错了什么?

查看 API 文档以创建新的 sequelize 实例: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
        }    
    }
);