【发布时间】:2018-12-13 02:47:55
【问题描述】:
背景
我正在创建一个样板快速应用程序。我已经使用 pg 和 sequelize 配置了一个数据库连接。当我添加 cli 并尝试运行 sequlize db:migrate 时出现此错误,
错误:不支持方言 [object Object]。支持的 方言:mssql、mysql、postgres 和 sqlite。
复制
生成一个新的 express 应用程序。安装 pg、pg-hstore、sequelize 和 sequelize-cli。
运行sequelize init。
将 config.js 文件添加到从 sequelize init 创建的 /config 路径中。
在 config.js 文件中创建连接。
更新 sequelize-cli 创建的 config.json 文件。
运行sequelize db:migrate
示例
/config/config.js
const Sequelize = require('sequelize');
const { username, host, database, password, port } = require('../secrets/db');
const sequelize = new Sequelize(database, username, password, {
host,
port,
dialect: 'postgres',
operatorsAliases: false,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
}
});
module.exports = sequelize;
/config/config.js
{
"development": {
"username": "user",
"password": "pass",
"database": "db",
"host": "host",
"dialect": "postgres"
},
"test": {
"username": "user",
"password": "pass",
"database": "db",
"host": "host",
"dialect": "postgres"
},
"production": {
"username": "user",
"password": "pass",
"database": "db",
"host": "host",
"dialect": "postgres"
}
}
问题
我希望初始迁移能够运行,但会出现错误,
错误:不支持方言 [object Object]。支持的 方言:mssql、mysql、postgres 和 sqlite。
版本
Dialect: postgres
Dialect version: "pg":7.4.3
Sequelize version: 4.38.0
Sequelize-Cli version: 4.0.0
Json 包
"pg": "^7.4.3",
"pg-hstore": "^2.3.2",
"sequelize": "^4.38.0"
全局安装
npm install -g sequelize-cli
问题
既然已经发布了用于 sequelize 的主要重写,那么添加方言以便迁移运行的正确方法是什么?
请务必注意,我的连接工作正常。我可以毫无问题地查询数据库,只有sequelize-cli在运行迁移时不起作用。
【问题讨论】:
-
你搞清楚了吗?我遇到了同样的错误。
-
我没有。我什至创建了一个问题并解释说它发生在一个项目的全新安装中,他们的回应是向他们展示我的代码。我认为使用 sequelize 安装一个全新的 express 应用程序非常简单,所以我继续使用我的应用程序而不使用它。我希望看到它起作用,但不值得痛苦。我花了整整一个晚上试图弄清楚。如果你真的解决了,我很想听听你做了什么来解决它。
标签: node.js express sequelize.js node-postgres sequelize-cli