0

移行名にキーワード「Create」を指定することにより、コマンド ラインから移行で create_table 構文を呼び出すことができます。

rails g migration CreateMyTables name:string

これにより、次の内容の移行が作成されます。

class CreateMyTables < ActiveRecord::Migration
  def change
    create_table :my_tables do |t|
      t.string :name
    end
  end
end

同じことを達成したいのですが、「Change」キーワードを使用します。したがって、コマンドラインから次を実行します。

rails g migration ChangeMyTables user:references

これは私が得たものです:

class ChangeMyTables < ActiveRecord::Migration
  def change
  end
end

これは私が期待するものです:

class ChangeMyTables < ActiveRecord::Migration
  def change
    change_table :my_tables do |t|
      t.references :user, index: true
    end
  end
end
4

1 に答える 1

1

コマンド ラインから参照列を追加する方法があります。

rails g migration AddUserToMyTable user:references

: テーブルに列を追加するにはAdd[column]To[table]、移行の名前を変更するための規則を使用します。

結果は次のようになります。

class AddUserToMyTable < ActiveRecord::Migration[5.2]
  def change
    add_reference :my_tables, :user, foreign_key: true
  end
end

注: foreign_key: trueによってインデックスが作成されます。

add_referenceの詳細をご覧ください。

于 2018-10-27T09:32:05.243 に答える