如何将列的默认值设置为GUID?

时间:2010-10-30 01:03:35

标签: mysql ruby-on-rails

如何将RoR模型的属性(数据库列)设置为列的默认值?在mysql中生成GUID吗?

该列是否必须是唯一的标识符,还是我可以将其设置为长度为36的字符串?

1 个答案:

答案 0 :(得分:1)

您可以在Rails项目中使用uuid gem,并在表中使用varchar(string)列:

http://rubygems.org/gems/uuid

然后在你的模型中:

class MyModel < ActiveRecord::Base
  before_save :generate_uuid

  protected
  def generate_uuid
    self.uuid ||= UUID.new.generate # Fill an UUID in uuid field only if the field is nil
  end
end