rails复杂索引的长度
rails length of complicated index
我是这样写迁移的:
create_table :table1 do |t|
t.string :foo, null: false, default: '', limit: 512
t.integer :bar, null: false
t.index [:foo, :bar]
end
遇到错误
Mysql2::Error: Specified key was too long; max key length is 767 bytes
如何解决这个问题,除了减少列 foo
限制?
字符串是 varchar(255) 您的限制太大,因此您可以使用 t.text 或将您的限制更改为 255。
您可以通过传递链接到索引字段的散列来修复之前的错误。
t.index [:foo, :bar], :length => {:foo => 25 }
我是这样写迁移的:
create_table :table1 do |t|
t.string :foo, null: false, default: '', limit: 512
t.integer :bar, null: false
t.index [:foo, :bar]
end
遇到错误
Mysql2::Error: Specified key was too long; max key length is 767 bytes
如何解决这个问题,除了减少列 foo
限制?
字符串是 varchar(255) 您的限制太大,因此您可以使用 t.text 或将您的限制更改为 255。
您可以通过传递链接到索引字段的散列来修复之前的错误。
t.index [:foo, :bar], :length => {:foo => 25 }