3

私は動作中の Laravel アプリを持っています。モデルを更新し、データベースに新しい列を追加する必要がありました。これを行うために、database/migrations/table.php ファイルに次のコードを追加しました。

Schema::table('client', function (Blueprint $table) {
        $table->string('newColumn');
});

データベースを (で) 更新しようとすると、php artisan migrate「移行するものがありません」というメッセージが表示されます。php artisan migrate:refreshこの変更を適用する唯一の方法は実行またはリセットですが、どちらのコマンドもデータベースのすべての行を削除することに気付きました。

すべてを削除せずにデータベースの列を更新する方法はありますか?

4

2 に答える 2

0

一部の列のみを追加する場合は、完全な挿入ステートメントを使用してデータをエクスポートし、migrate:refresh を実行して、データを再インポートできます。MySQL の場合:

mysqldump -u {USER} -p {DATABASE} --no-create-db --no-create-info --complete-insert > yourdata.sql
artisan migrate:refresh
mysql -u {USER} -p {DATABASE} < yourdata.sql
于 2017-07-14T17:01:05.883 に答える