2016-10-12 6 views
0

私はlaravelを初めて使用しています。作業中に新しい移行を作成しました。コマンドphp artisan migrateを実行した後、移行は成功しました。その後、以前に作成した移行に戻り、いくつかの新しいフィールドを追加しました。 php artisan migrateというコマンドを実行すると、メッセージNothing to migrateが届きました。私は、その後適用される変更のためのコマンドphp artisan migrate:refreshを実行するようになっていたが、私はそれらの移行に行ってきましたので、私はいくつかの移行をロールバックしたくなかったし、私が実行したとき、私はそれ以来Laravelでphp artisan migrateを実行することができません

/** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     // The line below has been commented to prevent rollback 
     // Schema::drop('table-name'); 
    } 

を次のように最後の方法を変更しましたphp artisan migrate、私は次のエラーを取得: [Symfony\Component\Debug\Exception\FatalErrorException] Class 'Carbon' not found を私は親切に私はこの問題を解決するのに役立つcomposer updatecomposer dump-autoloadcomposer clear-cachephp artisan migrate:refreshphp artisan migrate:rollbackphp artisan migrate:reset

を実行しました。

答えて

1

移行クラスまたはスクリプトでは、Carbonクラスを使用していますが、インポート/忘れを忘れています。

あなたはカーボンクラスと実行移行を使用しているあなたの移行スクリプトで

use Carbon/Carbon; 

を追加します。

参照リンク:http://laravel.io/forum/03-12-2014-class-carbon-not-found

1

私は、移行のダウン方式でのいくつかの行をコメントすることはお勧めしません。 一般に、down()メソッドは、up()メソッドで行われた操作を元に戻す必要があります。

いくつかのフィールドを既存のテーブルに追加し、更新を実行して一部のデータを失いたくない場合は、別の移行を作成して変更するテーブルを指定するだけです。たとえば:

php artisan make:migration add_some_fields_to_users --table=users 

またので、あなたの移行をリフレッシュすることができますし、再度データをデータベースに播種Database Seedsの使用を検討できます。これは開発段階で非常に強力です。

あなたのために@Sanrekulaからの回答が最も可能性が高いと思います。

関連する問題