Heim > Fragen und Antworten > Hauptteil
Ausführen, wenn die Datenbank keine Tabellen enthält
php artisan migrate
Nach der Ausführung gibt es nur noch zwei Tabellen in der Datenbank: Migrationen und Benutzer
Erneut ausführen
php artisan migrate
Es werden keine neuen Einträge zur Datenbank vorgenommen. Lösen.
给我你的怀抱2017-05-16 16:49:03
索引的长度超过了mysql
的限制,在migrate
之前,设置
$table->string('email' , 32)->index();
$table->string('token' , 128)->index();
或者更小...
大家讲道理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 配置