2017-06-15 9 views
0

MySQLデータベースをLaravelの移行で作成しましたが、すべてのテーブルのすべてのフィールドをNULLにすることができます(もちろんPKFKを除く)。 dbを削除して移行を再実行しても問題はありませんが、既存の移行を変更して、各プロパティに - > nullable()を追加する必要がありますか?この変更を行うために新しい移行を作成する必要がありますか?または別のより良い方法がありますか?すべてのMySQL DBフィールドにnullを許可する - Laravel 5.3

答えて

1

すべてのテーブルフィールドをループして、それをヌル可能にするMySQL関数を作成することができます。私の意見では、この理由で最高です。すべての移行で->nullable()を追加してください。

+0

既存の移行を変更するだけですか? 例:change $ table-> string( 'name'); 〜$ table-> string( 'name') - > nullable(); ? dbを落として移行を再実行しますか? @Gabriel Caruso –

+1

うん@RowaydaKhayri。私はこれを何度もやってきました.100%の仕事。 foreingキーには注意してください。ヌル可能ではないことをすべて確認してください。しかし、質問するとPKとFKは表示されません。 –

1

標準的な慣行は、そうでない場合は、あなたがロールバックし、再び前方に移行するアプリケーションの能力に影響を与えることができ、あなたのスキーマへの変更ごとに新しいマイグレーションを作ることです。

関連する問題