Laravel 5.1の1つのテーブルを更新してシードすることを望んでいます。これは可能ですか?
以下を試しましたが、エラーになります(構文が正しくありません)。
php artisan migrate:refresh --path=database/migrations/CreateTableTimesheet
私が使用する場合:php artisan migrate:refresh
それはただ言う:
移行するものはありません
migrate:refresh
コマンドは、すべてのマイグレーションをロールバックしてから、migrate
コマンドを実行します。このコマンドは、データベース全体を効果的に再作成します。
php artisan migrate:refresh
そして、あなたは--class
オプションを使用して、個別に実行する特定のシーダークラスを指定します。
php artisan db:seed --class=UserTableSeeder
完全なコードは次のようになります。
php artisan migrate:refresh
php artisan db:seed --class=UserTableSeeder
お役に立てれば。
最初に同じテーブルを切り捨ててからシードすることをお勧めします:-
public function run()
{
Table::truncate();
//seed your table here
}
次に、このように同じシーダーを実行できます:-
php artisan db:seed --class=YourSeeder
たぶん最初にデータベースをバックアップし、それをドロップして、シード処理、移行、更新のメカニズム全体が機能するかどうかを確認します。しかし、まず職人のオートロードをダンプします。
php artisan tinker
>>> App\Status::truncate()
ステータステーブルをクリアします
だからできる
>>> App\{MODEL_CLASS}::truncate()
これは、すべてのテーブル、特にユーザーをクリアしたくないときに非常に便利です。