sequelize db:migrate 和 postgres 的问题
Posted
技术标签:
【中文标题】sequelize db:migrate 和 postgres 的问题【英文标题】:problem with sequelize db:migrate and 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。
【问题讨论】:
【参考方案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 版解决了我的问题以上是关于sequelize db:migrate 和 postgres 的问题的主要内容,如果未能解决你的问题,请参考以下文章
错误:当我执行“sequelize db:migrate”时,“请手动安装 sqlite3 包”
rails to grails - db:create 和 db:migrate 发生了啥?
rake db:migrate db:reset 和 db:schema:load 之间的区别