Ruby on Rails遷移時的一些注意事項_ruby專題

來源:互聯網
上載者:User


    把 schema.rb 儲存在版本管控之下。
    使用 rake db:scheme:load 取代 rake db:migrate 來初始化空的資料庫。
    使用 rake db:test:prepare 來更新測試資料庫的 schema。

    避免在表裡設定預設資料。使用模型層來取代。

  def amount   self[:amount] or 0  end

    然而 self[:attr_name] 的使用被視為相當常見的,你也可以考慮使用更羅嗦的(爭議地可讀性更高的) read_attribute 來取代:

    

def amount   read_attribute(:amount) or 0  end

    當編寫建設性的遷移時(加入表或欄位),使用 Rails 3.1 的新方式來遷移 - 使用 change 方法取代 up 與 down 方法。

  

 # 過去的方式  class AddNameToPerson < ActiveRecord::Migration   def up    add_column :persons, :name, :string   end   def down    remove_column :person, :name   end  end  # 新的偏好方式  class AddNameToPerson < ActiveRecord::Migration   def change    add_column :persons, :name, :string   end  end

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.