搜尋

首頁  >  問答  >  主體

Laravel 5.4 php artisan migrate 提示表已經存在

在資料庫沒有任何表格的情況下執行

php artisan migrate

#執行後資料庫裡面只會存在連個表:migrations、users

再次執行

php artisan migrate

#資料庫裡不會有任何的新增。求解。

我想大声告诉你我想大声告诉你2773 天前449

全部回覆(2)我來回復

  • 给我你的怀抱

    给我你的怀抱2017-05-16 16:49:03


    索引的長度超過了mysql的限制,在migrate之前,設定

    $table->string('email' , 32)->index();
    $table->string('token' , 128)->index();

    或更小...

    回覆
    0
  • 大家讲道理

    大家讲道理2017-05-16 16:49:03

    這是因為 5.4 預設使用了utf8mb4 字元集, 在 MySQL / MariaDB .

    https://laravel.com/docs/5.4/migrations#indexes

    只要安裝文件中的範例修改就好了.

    在 AppServiceProvider.php, boot方法中, 呼叫 Schema::defaultStringLength 方法

    
    // AppServiceProvider.php
    
    
    use Illuminate\Support\Facades\Schema;
    
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);
    }

    順便, 你也可以開啟資料庫的 innodb_large_prefix 設定

    回覆
    0
  • 取消回覆