尝试将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将不再是免费的,我想我应该尝试铁路代替。
1条答案
按热度按时间t2a7ltrp1#
Railway将使用
Procfile
来启动您的服务,因此确保迁移运行的一种简单方法就是使用它。在应用的根文件夹中,添加名为
Procfile
的文件(无扩展名)下面是我的一个应用程序的示例:
它首先运行
rake db:migrate
,然后使用我在config/puma.rb
中定义的配置启动puma
服务器此命令在成功生成后运行一次。