私の Rails (3.2) アプリでは、データベースに多数のテーブルがありますが、null でない制約をいくつか追加するのを忘れていました。既存の列に null 以外を追加する移行を作成するにはどうすればよいですか?
58636 次
5 に答える
96
Rails 4 以降では、ネイツの回答( change_column_nullを使用) の方が優れています。
Rails 4 より前のバージョンでは、 change_columnを試してください。
于 2012-02-15T00:25:05.813 に答える
0
私のアプローチでは、既存の移行済みの移行で必要な列に NOT NULL 制約を追加します。その後、次のコマンドを使用してすべての移行をリセットしました。
rake db:migrate:reset
これにより、データベースが削除され、再度作成され、すべての移行が実行されます。変更は schema.rb で確認できます。
単純な移行で列がほとんどない場合は、このアプローチを使用できます。
于 2021-04-21T07:40:48.460 に答える