ruby-on-rails - 在 Rails 和多态关系中使用 UUID 作为主键

标签 ruby-on-rails activerecord uuid polymorphism

我正在创建一个去中心化的 rails 3 应用程序,我需要使用 UUID 作为 主键 对于我的 table ,什么是最好的 gem ,工作的插件。我也想知道是否可以在事件记录 考虑到我使用 UUID 的情况,不使用 polymorphicable_type 列的多态关系。

我创建了一个演示 http://github.com/boriscy/uuidrails3使用 UUID 作为键的,您应该检查 lib/中的模块 UUIDHelper 以及所有迁移。不需要在数据库中添加主键,只需要一个索引,因为主键验证字段的唯一性,但我们不需要 UUID。

最佳答案

this file在 lib 目录中,并将其添加为初始化程序:

class ActiveRecord::Base
  set_primary_key :uuid

  before_create :set_uuid

  def set_uuid
    self.uuid = UUID.generate(:compact)
  end
end

至于关系,vlad 是正确的,ActiveRecord 需要知道记录在哪个表中才能找到它。如果你想要这种功能,试试 MongoMapper 之类的东西。

关于ruby-on-rails - 在 Rails 和多态关系中使用 UUID 作为主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2654533/

相关文章:

javascript - ruby rails 4 : Trouble with adding Javascript files in Rails web application

ruby-on-rails - PG::ProgramLimitExceeded: 错误:索引行需要 13904 字节,最大大小为 8191

ruby-on-rails - 测试套件多长时间太长?

ruby-on-rails - Rails 3. 如何通过虚拟属性执行 "where"查询?

ios - 如何在 Linux 上获取苹果二进制文件的 UUID

java - 什么是快速哈希,它将 UUID 映射到单位间隔?

php - 为什么 Eloquent(在 Laravel 中)将我的 varchar uuid 主键转换为整数导致错误?

ruby-on-rails - Sunspot_rails 不尊重 :auto_index and :auto_remove

ruby-on-rails - 在Rspec和Rails中验证 bool 值

postgresql - Rails where 子句中的多字段比较