這篇文章主要介紹了關於Laravel5.5執行表遷移命令出現表為空白的解決方案,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
今天在使用一個第三方包 laravel-admin 時,出現了這樣的錯誤:
SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name ''
,折騰了好久,終於知道瞭解決方法,原來是設定檔的緩衝沒有清理。
一、問題
vagrant@homestead:~/Code/laravel-shop$ php artisan admin:install
錯誤提示:
In Connection.php line 664: SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name '' (SQL: create table `` (`id` int uns igned not null auto_increment primary key, `username` varchar(190) not null, `password` varchar(60) not null, `name ` varchar(255) not null, `avatar` varchar(255) null, `remember_token` varchar(100) null, `created_at` timestamp nul l, `updated_at` timestamp null) default character set utf8mb4 collate utf8mb4_unicode_ci)In Connection.php line 452: SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name ''
二、解決方案
database/migrations/2016_01_04_173148_create_admin_table.php
<?phpuse Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;class CreateAdminTable extends Migration{ /** * Run the migrations. * * @return void */ public function up() { $connection = config('admin.database.connection') ?: config('database.default'); // dd(app('config')); Schema::connection($connection)->create(config('admin.database.users_table'), function (Blueprint $table) { $table->increments('id'); $table->string('username', 190)->unique(); $table->string('password', 60); $table->string('name'); $table->string('avatar')->nullable(); $table->string('remember_token', 100)->nullable(); $table->timestamps(); }); Schema::connection($connection)->create(config('admin.database.roles_table'), function (Blueprint $table) { $table->increments('id'); $table->string('name', 50)->unique(); $table->string('slug', 50); $table->timestamps(); }); Schema::connection($connection)->create(config('admin.database.permissions_table'), function (Blueprint $table) { $table->increments('id'); $table->string('name', 50)->unique(); $table->string('slug', 50); $table->string('http_method')->nullable(); $table->text('http_path')->nullable(); $table->timestamps(); }); Schema::connection($connection)->create(config('admin.database.menu_table'), function (Blueprint $table) { $table->increments('id'); $table->integer('parent_id')->default(0); $table->integer('order')->default(0); $table->string('title', 50); $table->string('icon', 50); $table->string('uri', 50)->nullable(); $table->timestamps(); }); Schema::connection($connection)->create(config('admin.database.role_users_table'), function (Blueprint $table) { $table->integer('role_id'); $table->integer('user_id'); $table->index(['role_id', 'user_id']); $table->timestamps(); }); Schema::connection($connection)->create(config('admin.database.role_permissions_table'), function (Blueprint $table) { $table->integer('role_id'); $table->integer('permission_id'); $table->index(['role_id', 'permission_id']); $table->timestamps(); }); Schema::connection($connection)->create(config('admin.database.user_permissions_table'), function (Blueprint $table) { $table->integer('user_id'); $table->integer('permission_id'); $table->index(['user_id', 'permission_id']); $table->timestamps(); }); Schema::connection($connection)->create(config('admin.database.role_menu_table'), function (Blueprint $table) { $table->integer('role_id'); $table->integer('menu_id'); $table->index(['role_id', 'menu_id']); $table->timestamps(); }); Schema::connection($connection)->create(config('admin.database.operation_log_table'), function (Blueprint $table) { $table->increments('id'); $table->integer('user_id'); $table->string('path'); $table->string('method', 10); $table->string('ip', 15); $table->text('input'); $table->index('user_id'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { $connection = config('admin.database.connection') ?: config('database.default'); Schema::connection($connection)->dropIfExists(config('admin.database.users_table')); Schema::connection($connection)->dropIfExists(config('admin.database.roles_table')); Schema::connection($connection)->dropIfExists(config('admin.database.permissions_table')); Schema::connection($connection)->dropIfExists(config('admin.database.menu_table')); Schema::connection($connection)->dropIfExists(config('admin.database.user_permissions_table')); Schema::connection($connection)->dropIfExists(config('admin.database.role_users_table')); Schema::connection($connection)->dropIfExists(config('admin.database.role_permissions_table')); Schema::connection($connection)->dropIfExists(config('admin.database.role_menu_table')); Schema::connection($connection)->dropIfExists(config('admin.database.operation_log_table')); }}
清除設定檔緩衝
vagrant@homestead:~/Code/laravel-shop$ php artisan config:cache
再次執行發布命令,就可以了:
vagrant@homestead:~/Code/laravel-shop$ php artisan admin:installMigrating: 2016_01_04_173148_create_admin_tableMigrated: 2016_01_04_173148_create_admin_tableAdmin directory was created: /app/AdminHomeController file was created: /app/Admin/Controllers/HomeController.phpExampleController file was created: /app/Admin/Controllers/ExampleController.phpBootstrap file was created: /app/Admin/bootstrap.phpRoutes file was created: /app/Admin/routes.phpvagrant@homestead:~/Code/laravel-shop$
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!