部署環(huán)境:UbuntuServer12.04Postgresql9.1Rails3.2.14Capistrano2.13.5其中:pg_hba.conf文件中描述如下:localallpostrgesqltruselocalallallmd5localall127.0.0.1/32md5localall::1/128md5config/deploy.rb中有一行:run"cd#{latest_release}&{rake}RAILS_ENV=#{rails_env}#{asset_env}assets:precompile"在遠程執(zhí)行capstaging:deploy時,運行到上面那行代碼就會報錯,提示無法連接數(shù)據(jù)庫,在ActiveRecord初始化時出現(xiàn)錯誤。當時我注釋掉那一行,ssh到服務(wù)器上,直接cd到項目中執(zhí)行預(yù)編譯,也能成功,不會出現(xiàn)錯誤。后來我在config/application.rb中加上了:config.assets.initialize_on_precompile=false#Heroku中部署Rails3.2程序也有這個要求最終問題解決。我的問題是:Rails3.2程序在production環(huán)境中執(zhí)行預(yù)編譯的時候,真的有初始化ActiveRecord這一步么,以及為什么?
Rails3.2生產(chǎn)環(huán)境預(yù)編譯與Active Record初始化問題
繁星點點滴滴
2019-04-09 20:25:11