Nit*_*jan 6 php mysql laravel-5 laravel-5.5
产品规格:
描述:
C:/Users/user/code/blog/>php artisan migrate
[Illuminate\Database\QueryException]
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists (SQL: create table users (id int unsigned not null aut
o_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 timestamp null) default character set utf8mb4 collate utf8mb4_unicode_ci engine = InnoDB R
OW_FORMAT=DYNAMIC)
[PDOException]
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists
Run Code Online (Sandbox Code Playgroud)
重现步骤:
C:/Users/user/code/blog/>laravel new website
C:/Users/user/code/blog/>php artisan make:migration create_lists_table --create=lists
C:/Users/user/code/blog/>php artisan migrate
Run Code Online (Sandbox Code Playgroud)
问题
它创建用户表并给出错误但不创建列表
Kal*_*ski 12
以下是我为解决同一问题所采取的步骤:
在我写的控制台中 php artisan tinker
然后,再次在控制台中, Schema::drop('users')
最后php artisan migrate,一切都奏效了.
我通过改变我的create_users_table.php解决了我自己的问题
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::dropIfExists('users');
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
Run Code Online (Sandbox Code Playgroud)
小智 9
解决这个问题的简单方法是运行以下命令
php工匠迁移:新鲜
小智 6
以下命令解决了我的问题:
1. php artisan tinker
2. Schema::drop('your_table_name')
3. php artisan migrate
Run Code Online (Sandbox Code Playgroud)
如果数据库中存在表,您可以通过添加以下代码跳过迁移表:
public function up()
{
if(Schema::hasTable('users')) return; //add this line to your database file
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
Run Code Online (Sandbox Code Playgroud)