Rails LHM 迁移 - 指定索引名称

问题描述 投票:0回答:2

使用 LHM (Large Hadron Migrator) 有语法文档来添加索引:

require 'lhm'
class SomeMigration < ActiveRecord::Migration
  def self.up
    Lhm.change_table :foos do |m|
      m.add_unique_index  [:bar_id, :baz] # add_index if you don't want uniqueness
    end
  end
  def self.down
    Lhm.change_table :foos do |m|
      m.remove_index  [:bar_id, :baz]
    end
  end
end

如何在LHM中指定索引的具体名称?用于添加和删除

我担心我会达到索引名称长度限制,因为我使用了很多列

mysql ruby-on-rails soundcloud database-migration
2个回答
4
投票
m.add_unique_index([:long_column, :super_long_column], 'shortened_index_name')

链接到 #add_unique_index 的 LHM 文档


0
投票

https://github.com/soundcloud/lhm/pull/84

自从建议批准的答案以来,情况似乎已经发生了变化。现在您不应该指定

name:
index_name:
,只需将其作为第二个参数传递即可:

m.add_unique_index [:bar_id, :baz], "shortened_index_name"
© www.soinside.com 2019 - 2024. All rights reserved.