資料移轉rake aborted

來源:互聯網
上載者:User

問題描述:rails 項目執行rake db:migrate資料移轉時出現rake aborted,

解決方案:看提示,執行bunlde exec rake db:migrate,遷移成功!

知識補充:使用bundle exec rake db:migrate的區別(引自:http://www.iteye.com/problems/73157)

①bundle是為rails項目提供一個類似沙箱機制,沙箱有很多好處。簡單講,能保證主要是項目依賴的gem版本,rails 3呢就從gem變成core了 
bundle exec是幹啥的 ,執行bundle -h 能看到:
       “bundle exec(1) bundle-exec.1.html 
              Execute a script in the context of the current bundle”
就說是為了維護工作環境,其實還是gem版本,bundle是拷Gemfile這個設定檔來維持統一的gem版本的。所以,你可以有多重專案使用相同的gem,但是不同的版本。 

②有沒有bundle exec的區別 :rake db:migrate是移植資料庫。那麼,這裡實際是調用了一個rake的gem,所以,如果你的系統,如果有多個rake,比如,你系統是0.9但你在這個項目的Gemfile裡寫rake版本是0.8.7,項目多的時候完全可能,有些項目的有些gem版本就是沒有升級。那麼,寫bundle exec會調用0.8.7的rake執行,不寫的系統會預設調用最新的版本也就是0.9的rake。所以,也就是,有可能會出錯了。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.