15

ターミナルからActiveRecordを使用してテーブルに列を追加するにはどうすればよいですか。add_columnメソッドを使用しようとしていますが、機能しません。何かアイデアはありますか?

4

3 に答える 3

26

チームで作業している場合は、移行と必須を記述することをお勧めします。データベースを変更すると、すべての開発者の環境も更新する必要があります。そうしないと、気が狂った開発者があなたに迫ってくるでしょう。

rails generate migration AddPartNumberToProducts part_number:string

発生します

class AddPartNumberToProducts < ActiveRecord::Migration
  def change
    add_column :products, :part_number, :string
  end
end

次に、移行を実行します

rake db:migrate

http://guides.rubyonrails.org/migrations.html

編集:

Railsコンソールのコマンドラインについては、@ tadmanの回答を確認するか、Bengalaが提案したものを使用してください

ActiveRecord::Migration.add_column :products, :part_number, :string
于 2012-07-13T20:17:43.313 に答える
24

rails cRailsコンソールで直接移行を実行できますActiveRecord::Migration

あなたの目的のために、次のコマンドはあなたが求めることを行います:

>   ActiveRecord::Migration.add_column :table_name, :field_name, :field_type
于 2016-05-24T17:10:32.330 に答える
3

ハッキングするだけなら、通常、Rails DB レイヤーを使用するよりも、何らかの SQLite クライアントを使用してデータベースを操作する方が簡単です。

プロジェクトに対してこれを行う場合は、適切な移行ファイルを作成して実行します。

これを行うことに決めた場合は、ドライバー オブジェクトadd_columnを介してメソッドを使用できます。ActiveRecord::Base.connection

于 2012-07-13T20:17:21.843 に答える