• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详细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

    ?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

    再次执行发布命令,就可以了:

    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$

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • Laravel框架数据库迁移操作实例详解
    • laravel解决迁移文件一次删除创建字段报错的问题
    • laravel 执行迁移回滚示例
    • Laravel5.5 数据库迁移:创建表与修改表示例
    • 关于laravel 数据库迁移中integer类型是无法指定长度的问题
    • Laravel5.7 数据库操作迁移的实现方法
    • laravel 数据迁移与 Eloquent ORM的实现方法
    • Laravel中数据迁移与数据填充的详细步骤
    • Laravel实现数据库迁移与支持中文的填充
    • Laravel 的数据库迁移的方法
    • Laravel 5框架学习之数据库迁移(Migrations)
    • 使用git迁移Laravel项目至新开发环境的步骤详解
    上一篇:PHP耦合设计模式实例分析
    下一篇:PHP使用流包装器实现WebShell的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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