Rails generate migration AddRetweetsCountToTweet retweets_count:integer
わかりました。上記の行を使用して、生成されたファイルにコードを自動的に生成する移行ファイルを作成し、データ型整数を持つモデルTweetに列を追加します。次に、移行ファイルの生成中に追加された列にデフォルト値を追加します。それは可能ですか? Googleで検索しましたが、見つかりませんでした。みんな助けが必要です。
はい、Migration Generatorコマンドで「デフォルト」を使用する方法もわかりませんでしたが、「rake db:migrate」を適用する前に生成された移行ファイルを修正することで、新しい文字列列のデフォルト値を指定できました:
class AddColumnToWidgets < ActiveRecord::Migration
def change
add_column :widgets, :colour, :string, default: 'red'
end
end
これにより、「ウィジェット」モデルに「色」という新しい列が追加され、新しいウィジェットのデフォルトの「色」が「赤」に設定されます。
テーブル全体を作成するために、移行ファイルでt.boolean:active、:default => 1を試しました。 dbでチェックインしたときにその移行を実行した後、nullになりました。たとえデフォルトを「1」と言ったとしても。その後、このように移行ファイルを少し変更し、テーブル移行ファイルの作成時にデフォルト値を設定するように働きました。
t.boolean:active、:null => false、:default => 1。私のために働いた。
私のRailsフレームワークのバージョンは4.0.0です