0

簡単な移行テーブルを作成してから、テーブルに列を追加しようとしているので、移行ファイルは次のとおりです。

class AddFlagToEmiTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('epins', function (Blueprint $table) {
            $table->boolean('flag');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */ 
    public function down()
    {
        Schema::table('epins', function (Blueprint $table) {
            //
        });
    }
}

これで、ドロップ値を書き忘れました。これは次のとおりです。

$table->dropColumn('flag');

これを追加しrollbackて何度も実行しようとするとphp artisan migrateエラーが表示され、移行にドロップ値を追加しても、それぞれ移行する出力が何も表示されません。

私はすでに次のことを試しました:

php artisan optimize
php artisan clear-compiled
composer dump-autoload

それは私を助けていません。スクリーンショットを見てください:

ここに画像の説明を入力

手伝ってください。ありがとう!

4

2 に答える 2

1

職人がテーブルのflag列を見つけることができないためですepins

これには回避策があり、

phpmyadmin から明示的に列を追加flagし (mysql を使用している場合)、ロールバックを試みます。

この方法がうまくいくことを願っています。

于 2016-12-04T13:39:03.237 に答える
0

データベースからテーブルを削除し、移行ファイルを変更して、down 関数にドロップを追加し、再度移行してください。

于 2016-12-04T13:37:21.420 に答える