エラートレースで確認した場合:
これは、ユーザーテーブルを意味します すでに存在するため、移行を実行すると、データベースにすでに作成されているテーブルを作成しようとしています。
注: 最初にデータベースをバックアップすることを忘れないでください
ユーザーテーブルを削除します データベースから、移行からユーザーエントリも削除します テーブル。
その後、migrateArtisanコマンドを実行します。php artisan migrate
もう1つの質問は、既存のテーブルに新しい列を追加する方法です。
次のコマンドを使用してテーブルを作成する必要があります:
php artisan make:migration create_users_table
次のような出力が得られました: Created Migration:2019_04_12_070152_create_users_table
移行構造は次のようなものです:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
次に、既存のユーザーテーブルに新しい列を追加します。
php artisan make:migration add_phone_number_to_users_table --table=users
Schema::table()
を使用します メソッド(新しいテーブルを作成するのではなく、既存のテーブルにアクセスしているため)。そして、次のような列を追加できます:
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('phonenumber')->after('name'); // use this for field after specific column.
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('phonenumber');
});
}
その後、移行を実行できます:php artisan migrate
新しい列(phonenumber
)が既存のユーザーテーブルに追加されました 、データベースで表示できます。
それでも疑問がある場合は、このビデオ をご覧ください。