gpt4 book ai didi

ruby-on-rails - 如何在 Ruby on Rails 迁移中使列唯一并为其建立索引?

转载 作者:行者123 更新时间:2023-12-03 03:56:53 24 4
gpt4 key购买 nike

我想在 Ruby on Rails 迁移脚本中创建一个唯一列。最好的方法是什么?还有一种方法可以为表中的列建立索引吗?

我想在数据库中强制执行唯一列,而不是仅使用:validate_uniqueness_of

最佳答案

旧版本 Rails 的简短答案(请参阅 Rails 4+ 的其他答案):

add_index :table_name, :column_name, unique: true

要将多个列一起索引,您可以传递一个列名数组而不是单个列名,

add_index :table_name, [:column_name_a, :column_name_b], unique: true

如果出现“索引名称...太长”,您可以在 add_index 方法中添加 name: "whatever" 以使名称更短。

对于细粒度控制,有一个“execute”方法可以直接执行 SQL。

就是这样!

如果您这样做是为了替代常规的旧模型验证,请检查它是如何工作的。如果没有模型级验证,向用户报告的错误可能不会那么好。你总是可以两者兼得。

关于ruby-on-rails - 如何在 Ruby on Rails 迁移中使列唯一并为其建立索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1449459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com