ruby-on-rails 通过迁移向表大容量添加索引

v8wbuo2f  于 2023-03-24  发布在  Ruby
关注(0)|答案(1)|浏览(120)

因此,我知道可以进行“Rails批量迁移”,但仅限于向同一个表添加多个新列的情况。
有没有一种方法可以使用相同的批量方法,但使用它来添加多个索引,例如在同一个表中的3列。
一个例子可能是一个汽车表,其中包含多个列,包括颜色,功率和制造商。假设我想添加索引到这三个特定的列。这将如何完成?
这样我就保存

add_index :car, :power, unique: true

等另外两次。

2nbm6dog

2nbm6dog1#

add_indexActiveRecord::ConnectionAdapters::SchemaStatements的一部分,ActiveRecord::ConnectionAdapters::SchemaStatements是一个笨拙的低级API,和它的几乎所有方法一样,你可以通过ActiveRecord::ConnectionAdapters::Table调用它们,ActiveRecord::ConnectionAdapters::Table提供了一个基于表的抽象:

change_table :cars, bulk: true do |t|
  t.index :power
  t.index :foo
  t.index :bar
end

相关问题