是否有任何指向指定在遷移字符串限制選項...正在使用列限制選項嗎?
class CreateAccounts < ActiveRecord::Migration
def self.up
create_table :accounts do |t|
t.string :name, :limit => 64
end
end
end
如果有這樣的應用到數據庫中的所有字符串?什麼意義?
是否有任何指向指定在遷移字符串限制選項...正在使用列限制選項嗎?
class CreateAccounts < ActiveRecord::Migration
def self.up
create_table :accounts do |t|
t.string :name, :limit => 64
end
end
end
如果有這樣的應用到數據庫中的所有字符串?什麼意義?
字符串通常是255個字符長度,但並不是所有的數據庫都以相同的方式處理字符串字段。例如,PostgreSQL可以創建不同大小的字符串列。
至少有2個非常充足的理由指定字符串字段的值:
如果你需要一個字符串列來存儲國家代碼是2個字符的長度,爲什麼你希望數據庫保留額外的253個字符......什麼都不是?
另請注意,您應始終驗證模型中字段值的長度。 如果您嘗試創建一個紀錄,超過你的最大長度的名稱:
所以,總是validates_length_of
你的屬性。
首先想到的是 - 當您擁有數百萬個帳戶時,該限制實際上會影響您的數據庫的大小。