仕様:
説明:
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
再現手順:
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
問題
ユーザーテーブルを作成してエラーを表示しますが、リストテーブルは作成しません
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');
}
}
同じ問題を解決するために私がとったステップは次のとおりです。
コンソールで_php artisan tinker
_と書いた
その後、再びコンソールで、Schema::drop('users')
最後に_php artisan migrate
_とそれはすべて機能しました。
次のコマンドは私の問題を解決しました:
1. php artisan tinker
2. Schema::drop('your_table_name')
3. php artisan migrate
同じ問題を解決するために私がとったステップは次のとおりです。
php artisan make:migration create_tableName_table --create = tableName。
pHPアーティザンの移行。
エラーが表示されます。移行のすべてのファイルとデータベースのすべてのテーブルを削除できます。
新しいテーブルを1として作成します。
終わります。はい。
この問題を解決する簡単な方法は、次のコマンドを実行することです
php artisan migrate:fresh
このリンクに記載されているように、これには2つの解決策があります。
https://www.codespeaker.com/laravel-framework/solutions-for-common-errors-on-artisan-commands/
最初はロールバックです
php artisan migrate:rollback
2番目は、テーブルの削除です。
それらの列を最初にデータベースから削除するだけです。そしてcomposer updateを実行し、最後にphp artisan migrateを実行して問題を解決します。問題の最も簡単な解決策です。
私は別のソリューションを持っています、移行テーブルを削除します、ここで私のソリューション
<?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('migration');
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');
}
}
溶液:
php artisan migrate
を実行します