我使用三台Web服务器和一台数据库服务器(AWS RDS服务器)运行Rails应用程序。我和Chef Solo一起部署。目前我在我的rails_app配方中设置了“migrate true”,并且“rake db:migrate”在每台Web服务器上运行一次。随着厨师,我如何只运行一次Rails迁移?
当迁移时间短时,这通常不是问题。 (第一个成功,第二个和第三个跳过,因为schema_migrations表列出了最新的模式版本。)但是当迁移需要很长时间时,第二个和第三个Web服务器会在第一个Web服务器完成迁移之前尝试迁移。他们失败了,厨师退出失败。请注意,迁移已成功(至少在我尝试过时),但新版本的整体部署失败。 (如果我再次运行它,因为迁移已运行一切成功。)
我的问题是,什么,以确保迁移只运行一次最好的/规范的方法?
您可以收听播客:http://foodfightshow.org/2013/01/application-deployment.html – StephenKing 2013-04-23 10:10:43