【发布时间】:2023-03-21 16:57:02
【问题描述】:
我无法在 Heroku 中运行迁移,我认为这是因为我在 lib 目录中创建了一个模块。执行命令heroku run rake db:migrate 后,我收到以下错误:
uninitialized constant ApplicationController::PgTools
/app/app/controllers/application_controller.rb:4:in <class:ApplicationController>
Application 控制器的第 4 行是 include PgTools,用于访问我创建的 PgTools 模块中的方法。
尽管 heroku 迁移失败,但我可以在本地开发环境中运行 rake db:migrate 而不会失败(请注意,两个环境都使用 postgres 数据库)。
我的 application.rb 文件中也有以下两行
config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/"]
【问题讨论】:
-
你可能需要在你的 heroku 实例上
gem install pgtools。 -
似乎
pgtools文件没有部署到heroku..是不是在部署之前添加了文件提交? -
不走运。重新运行
bundle install,仍然收到同样的错误。 -
@tihom 是的,我在部署之前做了一个新的提交
-
只是检查,因为我有时忘记运行
git add .需要添加新添加的文件
标签: ruby-on-rails ruby heroku ruby-on-rails-3.2