Laravel迁移

时间:2017-11-06 02:43:38

标签: php mysql laravel migrate

我有一些php artisan migrate的问题。它只在数据库中安装用户和迁移,但没有其他文件。我安装了这个项目https://github.com/thedevdojo/chatter所以你可以确定代码是清楚的并且它正在工作,它只是在这个项目上没有问题但是当我输入php artisan make:auth它不是安装重置密码表但只有用户而且它说像这样:

  

[Illuminate \ Database \ QueryException] SQLSTATE [42S01]:基表或   视图已存在:1050表'用户'已存在(SQL:create   table usersid int unsigned not null auto_increment primary   key,name varchar(255)not null,email varchar(255)not null,
  password varchar(255)not null,remember_token varchar(100)null,   created_at timestamp null,updated_at tim estamp null)默认值   字符集utf8mb4 collat​​e utf8mb4_unicode_ci)

     

[PDOException] SQLSTATE [42S01]:基表或视图已存在:   1050表'用户'已存在

1 个答案:

答案 0 :(得分:0)

尝试将您的表放入数据库并重新迁移。如果它仍然无法工作,你可以检查文件夹配置中的database.php。将每个utf8mb4更改为utf8。这是更改database.php之前的示例:

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

改变之后:

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

之后,您可以删除db中的手动所有表,然后再次进行迁移。