Rails:如何将 add_index 添加到现有表

发布于 2024-11-09 00:55:09 字数 291 浏览 16 评论 0原文

我已经迁移了一个名为“units”的表,其中包含多个列。我想知道如何使用 cmd 将独立的“add_index”迁移到该表。这段代码是否正确:

class AddIndexToUnits < ActiveRecord::Migration
  def self.up
    add_index :units, :lesson_id
  end

  def self.down
    remove :units
  end
end

我有一种感觉 self.down 可能是错误的,我不确定。

I already migrated a table called units with several columns. I was wondering how to migrate in a stand alone 'add_index' to this table using the cmd. Is this code correct:

class AddIndexToUnits < ActiveRecord::Migration
  def self.up
    add_index :units, :lesson_id
  end

  def self.down
    remove :units
  end
end

I have a feeling the self.down could be wrong, I am unsure.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

千纸鹤带着心事 2024-11-16 00:55:09

self.up的方法是正确的。将其用于您的 self.down:

remove_index :units, :column => :lesson_id

The self.up method is correct. Use this for your self.down:

remove_index :units, :column => :lesson_id
兮颜 2024-11-16 00:55:09

几乎

class AddIndexToUnits < ActiveRecord::Migration
  def self.up
    add_index :units, :lesson_id, :name=>'lesson_index'
  end

  def self.down
    remove_index :units, 'lesson_index'
  end
end

Almost

class AddIndexToUnits < ActiveRecord::Migration
  def self.up
    add_index :units, :lesson_id, :name=>'lesson_index'
  end

  def self.down
    remove_index :units, 'lesson_index'
  end
end
寄离 2024-11-16 00:55:09

要删除索引,您必须使用具有与 self.up 的 add_index 相同的表和列规范的 remove_index。所以:

def self.down
  remove_index :units, :lesson_id
end

一个多列索引的例子是:

def self.down
  remove_index :units, [:lesson_id, :user_id]
end

To remove an index, you must use remove_index with the same table and column specification as the self.up's add_index has. So:

def self.down
  remove_index :units, :lesson_id
end

A multi-column index example would be:

def self.down
  remove_index :units, [:lesson_id, :user_id]
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文