在整个 rails 应用中设置默认主键类型?
Set default primary key type across entire rails app?
我将使用 uuid 作为新 rails 应用程序中 一些 表的主键类型。
我看到偶尔的限制,例如(至少开箱即用)ActiveStorage 只能处理 具有 bigint
或 uuid
primary key 的模型上的附件s(不是两者的混合)。
出于这个原因,我认为为每个主键使用 uuid 是一种更简洁的方法。
是否有新的 rails 应用程序的全局设置可以设置为生成的任何模型都将自动使用 uuid?
是,设置
config.generators do |g|
g.orm :active_record, primary_key_type: :uuid
end
在 config/application.rb
.
如果遇到问题,请在 postgres
中启用 pgcypto
扩展:
class EnableUuidExtension < ActiveRecord::Migration[6.1]
def change
enable_extension 'pgcrypto'
end
end
注意:这必须是第一次迁移到 运行!
我将使用 uuid 作为新 rails 应用程序中 一些 表的主键类型。
我看到偶尔的限制,例如(至少开箱即用)ActiveStorage 只能处理 具有 bigint
或 uuid
primary key 的模型上的附件s(不是两者的混合)。
出于这个原因,我认为为每个主键使用 uuid 是一种更简洁的方法。
是否有新的 rails 应用程序的全局设置可以设置为生成的任何模型都将自动使用 uuid?
是,设置
config.generators do |g|
g.orm :active_record, primary_key_type: :uuid
end
在 config/application.rb
.
如果遇到问题,请在 postgres
中启用 pgcypto
扩展:
class EnableUuidExtension < ActiveRecord::Migration[6.1]
def change
enable_extension 'pgcrypto'
end
end
注意:这必须是第一次迁移到 运行!