Ruby on rails 复杂索引的轨道长度
我是这样写的:Ruby on rails 复杂索引的轨道长度,ruby-on-rails,ruby,rails-migrations,Ruby On Rails,Ruby,Rails Migrations,我是这样写的: create_table :table1 do |t| t.string :foo, null: false, default: '', limit: 512 t.integer :bar, null: false t.index [:foo, :bar] end 我犯了一个错误 Mysql2::错误:指定的密钥太长;最大密钥长度为767字节 除了删除列foolimit之外,我如何解决此问题?字符串为varchar(255)。您的限制太大,因此您可以使用t.te
create_table :table1 do |t|
t.string :foo, null: false, default: '', limit: 512
t.integer :bar, null: false
t.index [:foo, :bar]
end
我犯了一个错误
Mysql2::错误:指定的密钥太长;最大密钥长度为767字节
除了删除列foo
limit之外,我如何解决此问题?字符串为varchar(255)。您的限制太大,因此您可以使用t.text或将限制更改为255
您可以通过传递链接到索引上的字段的哈希来修复以前的错误
t.index [:foo, :bar], :length => {:foo => 25 }