【问题标题】:problem with sequelize db:migrate and postgressequelize db:migrate 和 postgres 的问题
【发布时间】:2020-10-01 14:08:10
【问题描述】:

我是一个初学者,我正在尝试部署一个后端应用程序。我正在使用带有 ubuntu 服务器的 aws EC2,问题如下。在我机器上的应用程序中,命令“yarn sequelize db: migrate”正常运行,执行迁移并创建表。但不在服务器上。我已经更改了环境变量,甚至将信息直接放在代码中,即使它不运行迁移。它做的最多的是:deploy@ip-xxx.xxx.xxx.xxx:~/app/server $ yarn sequelize db:migrate 纱线运行 v1.22.4 $ /home/deploy/app/server/node_modules/.bin/sequelize db: 迁移

Sequelize CLI [节点:14.4.0,CLI:5.5.1,ORM:5.21.6]

加载配置文件“src/config/database.js”。 在 0.54 秒内完成。

就好像我没有进入迁移文件夹一样

我在 docker 镜像上使用 postgres。

【问题讨论】:

    标签: node.js postgresql docker sequelize.js


    【解决方案1】:

    TL;DR:尝试为 sequelize-cli 的所有依赖项使用最新版本,如此响应的最后一个代码块所示。

    我不能 100% 确定这是否与我遇到的问题相同。但是我已经陷入类似的情况两天了。基本上当我运行“npx sequelize db:migrate”时,它会显示以下内容,

    Sequelize CLI [Node: 14.4.0, CLI: 5.5.1, ORM: 5.21.6]
    
    Loaded configuration file "src / config / database.js".
    Using environment "development".
    

    然后它就停在那里了!我深入研究了 sequelize-cli 库,并在其中放入了一些控制台日志语句以查看失败的原因。最终我发现它以某种方式失败了

    return sequelize.authenticate().then(() => { 
    

    /sequelize-cli/lib/core/migrator.js 中的这一行

    最终,这让我想知道这是否是外部依赖问题。然后我使用最新的依赖项,如下在我的 package.json 中

    "dependencies": {
        "pg": "^8.2.1",
        "sequelize": "^5.21.13",
        "sequelize-cli": "^5.5.1"
    },
    

    我意识到我之前使用的是“pg”:“^7.18.2”。然后这为我解决了这个问题。

    【讨论】:

    • 你是救世主!出于某种原因,它仅适用于您指定的版本号。
    • 很高兴有帮助!:) 我挖得更深了,发现这是根本原因,github.com/sequelize/sequelize/issues/12158
    • 在我的情况下,将 pg 更新到 8.2.1 版解决了我的问题
    猜你喜欢
    • 2017-09-30
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    • 2011-06-22
    • 2019-03-25
    • 1970-01-01
    • 2019-02-19
    • 2016-12-30
    相关资源
    最近更新 更多