Ruby on Rails遷移時(shí)的一些注意事項(xiàng)
把 schema.rb 保存在版本管控之下。
使用 rake db:scheme:load 取代 rake db:migrate 來(lái)初始化空的數(shù)據(jù)庫(kù)。
使用 rake db:test:prepare 來(lái)更新測(cè)試數(shù)據(jù)庫(kù)的 schema。
避免在表里設(shè)置缺省數(shù)據(jù)。使用模型層來(lái)取代。
def amount self[:amount] or 0 end
然而 self[:attr_name] 的使用被視為相當(dāng)常見的,你也可以考慮使用更羅嗦的(爭(zhēng)議地可讀性更高的) read_attribute 來(lái)取代:
def amount read_attribute(:amount) or 0 end
當(dāng)編寫建設(shè)性的遷移時(shí)(加入表或欄位),使用 Rails 3.1 的新方式來(lái)遷移 - 使用 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
相關(guān)文章
ruby、javascript、php中的觀察者模式實(shí)現(xiàn)代碼
這篇文章主要介紹了ruby、javascript、php中的觀察者模式實(shí)現(xiàn)代碼,通過本文可以深入的理解觀察者模式,需要的朋友可以參考下2014-11-11Ruby中的Proc類及Proc的類方法Proc.new的使用解析
用Proc類可以用Proc.new來(lái)創(chuàng)建一個(gè)Proc類,進(jìn)而來(lái)操作塊,這里我們就來(lái)進(jìn)行Ruby中的Proc類及Proc的類方法Proc.new的使用解析.2016-05-05Ruby簡(jiǎn)潔學(xué)習(xí)筆記(一):字符串、數(shù)字、類和對(duì)象
這篇文章主要介紹了Ruby簡(jiǎn)潔學(xué)習(xí)筆記(一):字符串、數(shù)字、類和對(duì)象,本文是學(xué)習(xí)筆記第一篇,需要的朋友可以參考下2015-01-01舉例理解Ruby on Rails的頁(yè)面緩存機(jī)制
這篇文章主要介紹了舉例理解Ruby on Rails的頁(yè)面緩存機(jī)制,本文來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04