ruby-on-rails - Rails 迁移 create_join_table 与 uuids

标签 ruby-on-rails rails-activerecord

较新版本的 rails 允许您指定应使用 uuid 主键创建表,如下所示:

create_table :foos, id: :uuid do |t|
  # ...
end

这很棒。很长一段时间,rails 都支持创建连接表,如下所示:
create_join_table :foos, :bars do |t|
  # ...
end

也很棒。除了我的表有 uuid 主键并且生成整数类型的外键列而不是类型 uuid。

浏览 the documentation for create_join_table ,我找不到任何明显的改变列类型的东西。是否可以使用 create_join_table用uuid?

或者我是否手动创建了连接表:
create_table :bars_foos, id: false do |t|
  t.uuid :bar_id
  t.uuid :foo_id
end

最佳答案

Rails 5.0您可以使用附加选项 column_optionscreate_join_table方法来指定您的 id 列的类型。您的迁移将如下所示:

create_join_table :foos, :bars, column_options: {type: :uuid} do |t|
  t.index [:foo_id, :baar_id]
end

关于ruby-on-rails - Rails 迁移 create_join_table 与 uuids,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32911550/

相关文章:

ruby-on-rails - Rails 在级别上验证唯一性

ruby-on-rails - rake 数据库 :create ruby on rails

mysql - 扩展 ruby​​、activerecord、mysql 应用程序

ruby-on-rails - 如何使 Rails 4.2 与 Postgres Jsonb 一起工作?

ruby-on-rails - 如何编写不区分大小写的查询并仅返回 Rails 中的唯一记录

ruby-on-rails - 按类名和 ID 查找 ActiveRecord 对象

javascript - 单击提交按钮时按索引迭代数组 Ruby on Rails

ruby-on-rails - 从HTML页面为Rails生成PDF

ruby-on-rails - 未定义的方法 `update_attributes' ?

sql - Rails ActiveRecord 多个 WHERE 语句