ruby-on-rails Ruby Rails:活动记录::挂起迁移错误

qvk1mo1f  于 2022-11-19  发布在  Ruby
关注(0)|答案(1)|浏览(244)

尝试将Rails应用程序部署到Railway时,出现以下错误:

活动记录::挂起迁移错误

Migrations are pending. To resolve this issue, run:
bin/rails db:migrate RAILS_ENV=development
You have 1 pending migration:
20221102234102_create_contacts.rb

我可以通过单击显示在消息下方的“运行挂起的迁移”按钮来使应用程序联机。我希望找到一种方法来在每次部署时自动运行该迁移。
我已经尝试了Getting: "Migrations are pending; run 'bin/rake db:migrate RAILS_ENV=development' to resolve this issue." after cloning and migrating the project中列出的所有方法
所以我跑了:

rm -f db/*.sqlite3
      rake db:create
      RAILS_ENV=development bundle exec rake db:migrate
      rails s -e development

但没有成功。
“20221102234102_create_contacts.rb”文件的内容如下:

class CreateContacts < ActiveRecord::Migration[7.0]
  def change
    create_table :contacts do |t|
      t.string :name
      t.string :email
      t.text :comments
      t.timestamps
    end
  end
end

我是一个完全新的网络开发,并遵循一个免费的训练营视频,以获得这一点,但他们正在使用Heroku,这是不成功的,因为Heroku将不再是免费的,我想我应该尝试铁路代替。

t2a7ltrp

t2a7ltrp1#

Railway将使用Procfile来启动您的服务,因此确保迁移运行的一种简单方法就是使用它。
在应用的根文件夹中,添加名为Procfile的文件(无扩展名)
下面是我的一个应用程序的示例:

web: /bin/bash -l -c "rake db:migrate && bundle exec puma -C config/puma.rb"

它首先运行rake db:migrate,然后使用我在config/puma.rb中定义的配置启动puma服务器
此命令在成功生成后运行一次。

相关问题