我試着去耙分貝:模式:負載,但我得到的錯誤Ruby on Rails的 - 佣金模式 - 最大密鑰長度爲767個字節
Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX
從我的理解是,InnoDB的只允許767 A最大字節在他們的索引中......如果你使用utf-8,它應該被除以3.
但是當我嘗試在模式中設置最多100個字符(它甚至不接近767)。 rb錯誤仍然發生...
schema.rb
add_index "friendly_id_slugs", ["slug", "sluggable_type"], :name => "index_friendly_id_slugs_on_slug_and_sluggable_type", :unique => true, :length => { :name => 100, :slug => 100, :sluggable_type => 40 }
錯誤
-- add_index("friendly_id_slugs", ["slug", "sluggable_type"], {:name=>"index_friendly_id_slugs_on_slug_and_sluggable_type", :unique=>true, :length=>{:name=>100, :slug=>100, :sluggable_type=>40}})
rake aborted!
Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX `index_friendly_id_slugs_on_slug_and_sluggable_type` ON `friendly_id_slugs` (`slug`, `sluggable_type`)
MySQL的
Your MySQL connection id is 1838
Server version: 5.5.22-0ubuntu1-log (Ubuntu)
我缺少什麼?
感謝您的回覆,但這並沒有幫助,請使用新字符串查看我的更新問題。謝謝! – Philip
我想我找到了,堅持! – Philip
我添加了:名稱和設置 t.string「slug」,:null => false,:limit => 100 在創建該表爲100,它的工作,但現在我卡住了另一個錯誤... 謝謝您的幫助! – Philip