詳細Laravel5.5執(zhí)行表遷移命令出現(xiàn)表為空的解決方案
今天在使用一個第三方包 laravel-admin 時,出現(xiàn)了這樣的錯誤: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
<?php use 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
再次執(zhí)行發(fā)布命令,就可以了:
vagrant@homestead:~/Code/laravel-shop$ php artisan admin:install Migrating: 2016_01_04_173148_create_admin_table Migrated: 2016_01_04_173148_create_admin_table Admin directory was created: /app/Admin HomeController file was created: /app/Admin/Controllers/HomeController.php ExampleController file was created: /app/Admin/Controllers/ExampleController.php Bootstrap file was created: /app/Admin/bootstrap.php Routes file was created: /app/Admin/routes.php vagrant@homestead:~/Code/laravel-shop$
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Laravel框架數(shù)據(jù)庫遷移操作實例詳解
- laravel解決遷移文件一次刪除創(chuàng)建字段報錯的問題
- laravel 執(zhí)行遷移回滾示例
- Laravel5.5 數(shù)據(jù)庫遷移:創(chuàng)建表與修改表示例
- 關于laravel 數(shù)據(jù)庫遷移中integer類型是無法指定長度的問題
- Laravel5.7 數(shù)據(jù)庫操作遷移的實現(xiàn)方法
- laravel 數(shù)據(jù)遷移與 Eloquent ORM的實現(xiàn)方法
- Laravel中數(shù)據(jù)遷移與數(shù)據(jù)填充的詳細步驟
- Laravel實現(xiàn)數(shù)據(jù)庫遷移與支持中文的填充
- Laravel 的數(shù)據(jù)庫遷移的方法
- Laravel 5框架學習之數(shù)據(jù)庫遷移(Migrations)
- 使用git遷移Laravel項目至新開發(fā)環(huán)境的步驟詳解
相關文章
Linux下從零開始安裝配置Nginx服務器+PHP開發(fā)環(huán)境
這篇文章主要介紹了Linux下從零開始安裝配置Nginx服務器+PHP開發(fā)環(huán)境的教程,文中采用的是最主流的FastCGI連接方法,需要的朋友可以參考下2015-12-12ThinkPHP3.2.3框架郵件發(fā)送功能圖文實例詳解
這篇文章主要介紹了ThinkPHP3.2.3框架郵件發(fā)送功能,結合圖文與實例形式詳細分析了基于thinkPHP框架進行郵件發(fā)送的相關原理、配置及操作技巧,需要的朋友可以參考下2019-04-04SQL+HTML+PHP?一個簡單論壇網(wǎng)站的綜合開發(fā)案例(注冊、登錄、注銷、修改信息、留言等)
這篇文章主要介紹了SQL+HTML+PHP?一個簡單論壇網(wǎng)站的綜合開發(fā)案例(注冊、登錄、注銷、修改信息、留言等),需要的朋友可以參考下2022-12-12