我有一个数据库,我以前一直在远程访问(使用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
}
}
);
关于这个“悲伤”的事情是我没有抛出任何错误,但我知道它没有连接,因为它不从数据库收集任何数据。
那么我做错了什么?
答案 0 :(得分:3)
查看用于创建新的续集实例的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
}
}
);