Laravel5.5执行表迁移命令出现表为空的解决方案

Laravel5.5执行表迁移命令出现表为空的解决方案

内容导读

收集整理的这篇技术教程文章主要介绍了Laravel5.5执行表迁移命令出现表为空的解决方案,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5497字,纯文字阅读大概需要8分钟

内容图文

这篇文章主要介绍了关于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 IlluminateDatabaseMigrationsMigration;use IlluminateDatabaseSchemaBlueprint;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$

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

laravel+Redis简单实现队列通过压力测试的高并发处理

对于nginx配置文件中的fastcgi_param的配置错误的解决

以上就是Laravel5.5执行表迁移命令出现表为空的解决方案的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的Laravel5.5执行表迁移命令出现表为空的解决方案全部内容,希望文章能够帮你解决Laravel5.5执行表迁移命令出现表为空的解决方案所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com