こんにちは。私の Rails アプリには、ID 列も主キーもないテーブルがあります。これは、このテーブルが以前のアプリから Rails アプリに取り込まれ、テーブルにデータが事前に入力されているためです。整数の主キーがないと、Rails はブラウザーで編集ビューや表示ビューを表示できないことがわかりました。そのため、主キーで自動増分する ID 列をデータベースに追加する必要がありました。
グーグルで検索したところ、テーブルの主キーの作成に関する投稿がいくつか見つかりましたが、完全なものはありませんでした。
誰か助けていただけないでしょうか。今のところわかっているのは、テーブルを変更するには移行を記述して実行する必要があるということです。ID 列を追加するために実行する必要があるコマンドは次のとおりです。
rails generate migration add_id_to_businesses id:primary_key
しかし、このコマンドを実行しても、データベースに新しい列は追加されません。 どのように進めればよいかわかりません。 データベースに新しい列を追加するにはどうすればよいですか?
本当に助かります。ありがとうございます。
ベストアンサー1
rails g migration add_id_to_products id:primary_key
invoke active_record
create db/migrate/20120310085527_add_id_to_products.rb
移行ファイルは次のようになります -
# db/migrate/20120310085527_add_id_to_products.rb
class AddIdToProducts < ActiveRecord::Migration
def change
add_column :products, :id, :primary_key
end
end