【问题标题】:Deploying rails application on Heroku with PostgreSQL使用 PostgreSQL 在 Heroku 上部署 rails 应用程序
【发布时间】:2013-01-08 05:09:17
【问题描述】:

我的应用程序使用 postgres 在 Rails 上本地运行。一切正常。我是 Rails 新手,我想根据本指南在 heroku 上部署我的第二个应用程序: https://devcenter.heroku.com/articles/rails3 当我创建新应用程序时,我看到它工作,然后我推送我的应用程序,并且由于许多错误而无法运行 heroku run rake db:migrate -app "MY NEW APP NAME"。其中一些:

弃用警告:您在 vendor/plugins 中有 Rails 2.3 风格的插件!

rake 中止!发生错误,此迁移和所有后续迁移均已取消: PG::Error: ERROR: 关系“订单”的“已确认”列已经存在

当我尝试启动我的应用程序时,我看到:“我们很抱歉,但出了点问题。”。 如果已经存在列,我猜它不应该在本地运行。可能出了什么问题?

【问题讨论】:

    标签: ruby-on-rails database postgresql heroku


    【解决方案1】:

    如果您不担心在heroku上丢失数据库中的数据,您可以尝试

    heroku run rake db:reset --app YOUR_APP-NAME
    

    这将删除数据库中的所有表并从头开始重新运行所有迁移

    【讨论】:

      【解决方案2】:

      弃用警告:您在 vendor/plugins 中有 Rails 2.3 风格的插件!

      因为 vendor/plugins 文件夹在 rails 3 中已弃用,并在 rails 4 中完全删除。 因此,如果您在 vendor/plugins 文件夹中没有插件,那么您应该删除该文件夹。如果有插件http://code.coneybeare.net/how-to-convert-simple-rails-23-style-plugins.

      您是否已经推送了数据库然后运行迁移?

      【讨论】:

      • 所以我删除了这个文件夹(它是空的,除了 1 个 git 文件)然后当我尝试推送它时返回“一切都是最新的”。而且仍然有同样的错误。我推送了每个迁移和数据库文件,然后尝试运行迁移但没有结果。
      • 如果您已经使用选项卡或任何其他方式推送数据库,则表和“已确认”列已经存在,这就是它在 rake 迁移期间引发错误的原因
      猜你喜欢
      • 2015-03-04
      • 2014-08-08
      • 2016-06-23
      • 2020-05-15
      • 2019-10-09
      • 2020-02-20
      • 2015-04-23
      • 1970-01-01
      • 2018-06-10
      相关资源
      最近更新 更多