web-dev-qa-db-ja.com

Laravel 5.1単一のテーブルを更新してシードする

Laravel 5.1の1つのテーブルを更新してシードすることを望んでいます。これは可能ですか?

以下を試しましたが、エラーになります(構文が正しくありません)。

php artisan migrate:refresh --path=database/migrations/CreateTableTimesheet

私が使用する場合:php artisan migrate:refreshそれはただ言う:

移行するものはありません

16
V4n1ll4

migrate:refreshコマンドは、すべてのマイグレーションをロールバックしてから、migrateコマンドを実行します。このコマンドは、データベース全体を効果的に再作成します。

php artisan migrate:refresh

そして、あなたは--classオプションを使用して、個別に実行する特定のシーダークラスを指定します。

php artisan db:seed --class=UserTableSeeder

完全なコードは次のようになります。

php artisan migrate:refresh
php artisan db:seed --class=UserTableSeeder

お役に立てれば。

27
Zakaria Acharki

最初に同じテーブルを切り捨ててからシードすることをお勧めします:-

public function run()
{
    Table::truncate();
    //seed your table here
}

次に、このように同じシーダーを実行できます:-

php artisan db:seed --class=YourSeeder
3
web_developer

たぶん最初にデータベースをバックアップし、それをドロップして、シード処理、移行、更新のメカニズム全体が機能するかどうかを確認します。しかし、まず職人のオートロードをダンプします。

1
user5496249
php artisan tinker

>>> App\Status::truncate()

ステータステーブルをクリアします

だからできる


>>> App\{MODEL_CLASS}::truncate()


これは、すべてのテーブル、特にユーザーをクリアしたくないときに非常に便利です。

0
Frank Decker