0712-2888027 189-8648-0214
微信公眾號(hào)

孝感風(fēng)信網(wǎng)絡(luò)科技有限公司微信公眾號(hào)

當(dāng)前位置:主頁 > 技術(shù)支持 > PHP > 解決Laravel項(xiàng)目MySQL 5.6數(shù)據(jù)庫Migration創(chuàng)建報(bào)錯(cuò)的方法

解決Laravel項(xiàng)目MySQL 5.6數(shù)據(jù)庫Migration創(chuàng)建報(bào)錯(cuò)的方法

時(shí)間:2018-03-09來源:風(fēng)信官網(wǎng) 點(diǎn)擊: 1732次
解決Laravel項(xiàng)目MySQL 5.6數(shù)據(jù)庫Migration創(chuàng)建報(bào)錯(cuò)的方法

開發(fā)環(huán)鏡:PHP > 7.0
Laravel 5.5版本
數(shù)據(jù)庫:MySQL V5.6

對(duì)于較新版本的Laravel框架,建議使用MySQL 5.7數(shù)據(jù)庫以上版本,避免類為字符集等問題,而造成Migration創(chuàng)建數(shù)據(jù)庫報(bào)錯(cuò)等問題。

但對(duì)于之前就使用MySQL 5.6的數(shù)據(jù)庫,我們應(yīng)該如何解決Migration創(chuàng)建數(shù)據(jù)庫報(bào)錯(cuò)的問題呢?下面我們提供兩個(gè)解決的方案:

方法1、直接修改字符集

修改config\database.php文件

新版本Laravel MySQL采用utf8mb4字符集,需要修改代碼:

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

修改為:

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',

            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

再使用php artisan migrate即可在MySQL 5.6中創(chuàng)建數(shù)據(jù)庫成功。

方法2、修改AppServiceProvider.php文件

1、修改App\Providers\AppServiceProvider.php文件

public function boot()
    {
        //      
    }

修改為:

use Schema; //引入Schema

public function boot()
    {
        //
        Schema::defaultStringLength(191);
    }

Schema::defaultStringLength(191)指定字符集長度

然后再使用php artisan migrate命令創(chuàng)建數(shù)據(jù)庫成功!
熱門關(guān)鍵詞: Laravel MySQL 5.6 數(shù)據(jù)庫 Migration
欄目列表
推薦內(nèi)容
熱點(diǎn)內(nèi)容
展開