Sequelize db的问题:迁移和postgres

人气:767 发布:2022-10-16 标签: node.js postgresql docker sequelize.js

问题描述

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

序列化CLI[节点:14.4.0,CLI:5.5.1,ORM:5.21.6]

已加载配置文件"src/config/database ase.js"。 在0.54s内完成。

这就好像我没有因为任何原因进入迁移文件夹

我正在对docker图像使用postgres。

推荐答案

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中的此行

最终,它让我怀疑这是否是外部依赖问题。然后我使用最新的依赖项,如下所示。json

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

我意识到我以前使用的是";pg";:&7.18.2";。然后这就解决了我的问题。

686