{"data":{"markdownRemark":{"frontmatter":{"title":"Specified key was too long; max key length is 767 bytes","date":"02 February 2018","path":"/specified-key-was-too-long-max-key-length-is-767-bytes/","author":null,"excerpt":"В Laravel 5.4 кодировку по умолчанию сменили на utf8mb4, и если вы используете MySQL версии v5.7.7 и старше, то ничего страшного не произойдёт. Пользователям более младших версий и MariaDB к сожалению повезло меньше... Я как счастливый обладатель Марии так же попал под удар апдейтов =)","tags":["Laravel"],"coverImage":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAKABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQBAgP/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAWVNK3MgH//EABkQAAIDAQAAAAAAAAAAAAAAAAABAhExA//aAAgBAQABBQK0dJNF2LHp/8QAFhEAAwAAAAAAAAAAAAAAAAAAARAh/9oACAEDAQE/ATV//8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQIBAT8BJ//EABcQAQADAAAAAAAAAAAAAAAAAAEAIDH/2gAIAQEABj8Cg5X/xAAaEAEAAgMBAAAAAAAAAAAAAAABACEQEUEx/9oACAEBAAE/IRBrUVV0a9lA4CcHIz//2gAMAwEAAgADAAAAEHM//8QAFhEBAQEAAAAAAAAAAAAAAAAAEQAB/9oACAEDAQE/EMAi/8QAFhEAAwAAAAAAAAAAAAAAAAAAAAER/9oACAECAQE/EGjKf//EABsQAQADAAMBAAAAAAAAAAAAAAEAETEhUWFB/9oACAEBAAE/EHjA49incLAmld5LUNWZ1E8fkfdRS1nsXM//2Q==","aspectRatio":2.026266416510319,"src":"/static/4d38f0319714283c74c3265ebffa23f3/b4295/photo-1513082325166-c105b20374bb.jpg","srcSet":"/static/4d38f0319714283c74c3265ebffa23f3/127d5/photo-1513082325166-c105b20374bb.jpg 200w,\n/static/4d38f0319714283c74c3265ebffa23f3/7ef6a/photo-1513082325166-c105b20374bb.jpg 400w,\n/static/4d38f0319714283c74c3265ebffa23f3/b4295/photo-1513082325166-c105b20374bb.jpg 800w,\n/static/4d38f0319714283c74c3265ebffa23f3/487eb/photo-1513082325166-c105b20374bb.jpg 1080w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"cdd8fa85-afdf-5aa0-8283-9345a62c6fc9","html":"<p>В Laravel 5.4 кодировку по умолчанию сменили на utf8mb4, и если вы используете MySQL версии v5.7.7 и старше, то ничего страшного не произойдёт. Пользователям более младших версий и MariaDB к сожалению повезло меньше...</p>\n<p>Я как счастливый обладатель Марии так же попал под удар апдейтов =)</p>\n<h3>Проблема</h3>\n<p>У всех тех счастливчиков может появиться ошибка аналогичная этой:</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre class=\"language-php\"><code class=\"language-php\">    <span class=\"token punctuation\">[</span>Illuminate\\<span class=\"token package\">Database<span class=\"token punctuation\">\\</span>QueryException</span><span class=\"token punctuation\">]</span>                                         \n    \n    <span class=\"token constant\">SQLSTATE</span><span class=\"token punctuation\">[</span><span class=\"token number\">42000</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">:</span> Syntax error <span class=\"token keyword\">or</span> access violation<span class=\"token punctuation\">:</span> <span class=\"token number\">1071</span> Specified key was too long<span class=\"token punctuation\">;</span> max key length is <span class=\"token number\">767</span> bytes <span class=\"token punctuation\">(</span><span class=\"token constant\">SQL</span><span class=\"token punctuation\">:</span> alter table `users` add unique `users_email_unique`<span class=\"token punctuation\">(</span>`email`<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>\n<h3>Решение</h3>\n<p>Для исправления данной ошибки, всё, что вам нужно, это установить максимальную длину строки в файле app/Providers/AppServiceProvider.php</p>\n<div class=\"gatsby-highlight\" data-language=\"php\"><pre class=\"language-php\"><code class=\"language-php\">    <span class=\"token keyword\">use</span> <span class=\"token package\">Illuminate<span class=\"token punctuation\">\\</span>Support<span class=\"token punctuation\">\\</span>Facades<span class=\"token punctuation\">\\</span>Schema</span><span class=\"token punctuation\">;</span>\n    \n    <span class=\"token keyword\">public</span> <span class=\"token keyword\">function</span> <span class=\"token function\">boot</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">{</span>\n        Schema<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span><span class=\"token function\">defaultStringLength</span><span class=\"token punctuation\">(</span><span class=\"token number\">191</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span></code></pre></div>","excerpt":"В Laravel 5.4 кодировку по умолчанию сменили на utf8mb4, и если вы используете MySQL версии v5.7.7 и старше, то ничего страшного не…"}},"pageContext":{"isCreatedByStatefulCreatePages":false,"type":"posts","next":{"frontmatter":{"path":"/hakery-2/","title":"Хакеры","tags":["Кибер угрозы","Хакеры"]},"fileAbsolutePath":"/srv/www/softroot.ru/src/posts/2017-11-10-hakery-2.md"},"previous":{"frontmatter":{"path":"/laravel-blade-11-malo-ispolzuemih-directiv/","title":"Laravel blade. 11 мало используемых директив","tags":["Laravel","PHP"]},"fileAbsolutePath":"/srv/www/softroot.ru/src/posts/laravel-blade-11-malo-ispolzuemih-directiv.md"}}}