0

移行により、データベース内のプロパティという名前のテーブルに新しい列のデフォルトを追加しました。

class AddDefaultToProperty < ActiveRecord::Migration
  def self.up
    add_column :property, :is_default, :boolean
  end

  def self.down
    remove_column :property, :is_default
  end
end

デフォルト列には、プロパティがデフォルトかどうかを示すブール値が含まれています。ここで、その列に特定の行を入力する方法が必要です。このタスクを実行する最良の方法はどれですか? デフォルトのプロパティは近い将来変更される可能性があるため、この状況を検討するための柔軟な方法が必要です。

Rails 2.3.10 の使用

ありがとう!

4

2 に答える 2

2

場合によります。これが移行の不可欠な部分であり、移行が完了した直後にそのデータを利用できるようにする場合は、そのスクリプトを移行に直接配置する必要があります。データが利用可能になるまで待つことができる場合は、rake タスクを作成してデータを入力することもできます。利点は、移行が高速になることと、rake タスクがオプションであることです。欠点は、手動で実行する必要があることです。

于 2011-01-03T19:05:14.513 に答える
0

移行時にデータを変更することをお勧めします。これにより、以降の移行が常に期待どおりに機能することが保証されます。

ただし、移行内で使用する独自のモデルを作成するようにしてください。そうしないと、新しいモデルと古いスキーマの間で競合が発生します。

移行の先頭に次の行を追加するだけです。

class Property < ActiveRecord::Base; end
于 2011-01-03T19:10:35.963 に答える