sequelize.js - sequelize cli 不使用 postgres

标签 sequelize.js sequelize-cli

运行

sequelize db:migrate

打印出来:
Sequelize [Node: 6.9.4, CLI: 2.4.0, ORM: 3.24.6]

Loaded configuration file "config\development.json".
Unable to connect to database: SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306

然后看看 config/development.json 我看到:
{
    "development": {
    "username": "postgres",
    "password": "password",
    "database": "mydb",
    "host": "127.0.0.1",
    "port": "5432",
    "dialect": "postgres"
    },
    "test": {
    "username": "postgres",
    "password": "password",
    "database": "mydb",
    "host": "127.0.0.1",
    "port": "5432",
    "dialect": "postgres"
    },
    "production": {
    "username": "postgres",
    "password": "password",
    "database": "mydb",
    "host": "127.0.0.1",
    "port": "5432",
    "dialect": "postgres"
    }
}

为什么?为什么 sequelize 仍然试图转到 mysql 端口?我还添加了您在配置文件中看到的端口。我找不到任何说不支持 postgres 的资源。但似乎 sequelize-cli 仍然不关心我在配置文件中输入的方言甚至端口号。

最佳答案

似乎您的 NODE_ENVdevelopmenttestproduction 不同,因为如果它与其中任何一个匹配,您将获得类似的消息

Loaded configuration file "config/development.json".
Using environment "development".
Unable to connect to database: SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306

但是,在您的情况下,它不会打印它使用的环境,因此这意味着您的 development.json 文件中没有它。你可以试试
sequelize db:migrate --env development

根据 sequelize-cli 源代码,它使用 getEnvironment 方法获取 env 变量,如下所示:

getEnvironment: function () {
    return args.env || process.env.NODE_ENV || 'development';
}

如果您不传递 --env 参数,则它采用当前 NODE_ENV 。这将意味着你的不同。

关于sequelize.js - sequelize cli 不使用 postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42537186/

相关文章:

validation - Sequelize 自定义验证器

node.js - Sequelize 和在关联中指定外键的问题

sequelize.js - Sequelize 未正确加载数据库表

javascript - Sequelize 无法创建表,但是当我在 MySQL CLI 中运行它时它可以工作

javascript - Sequelize 关联超出最大调用堆栈大小

node.js - sequelize-cli 返回 'Unknown arguments' 错误

node.js - Sequelize : delete JSONB property (with PostgreSQL)

node.js - 非映射属性 - Sequelize

node.js - 自动获取 Sequelize 模型中的所有表列

node.js - 如何在 Sequelize CLI 中添加、删除新列