【发布时间】:2011-01-24 13:37:41
【问题描述】:
我正在尝试使用 UUID 作为 Rails 应用程序的主键,但遇到一个又一个问题。
我在迁移中指定: create_table :users, :id => false do |t| 那么这个: 执行(“ALTER TABLE用户添加主键(uuid)”)
在我的用户模型中: set_primary_key "uuid"
使用 UUID 工具生成 UUID。
这一切都很好,我目前遇到的问题是生成的 schema.rb 看起来像这样:
create_table "users", :primary_key => "uuid", :force => true do |t|
假设主键列是 11 个字符的整数而不是 36 个字符的字符串,因此运行迁移会生成正确的数据库,但会错误地生成测试数据库,如果我要运行 rake db:schema:load,它也会失败...
需要弄清楚如何覆盖 schema.rb 假设如果有一个主键列,它将是一个整数....
【问题讨论】:
标签: ruby-on-rails