次のような表があります:
class CreateShoes < ActiveRecord::Migration
def change
create_table :shoes do |t|
t.string :name
t.boolean :leather
t.integer :season
t.timestamps null: false
end
end
end
「season」列は「season_id」という名前にする必要があります。説明されているように、「t.rename :season, :season_id」と記述する必要があることはわかっています。http://edgeguides.rubyonrails.org/active_record_migrations.html#列修飾子しかし、正しい構文を見つけることができません。そうすべきでしょうか?
class CreateShoes < ActiveRecord::Migration
def change
create_table :shoes do |t|
t.string :name
t.boolean :leather
t.integer :season
t.timestamps null: false
end
change_table :products do |t|
t.rename :season, :season_id
end
end
end
動作しません。Mac コンソールで何かする必要がありますか? ありがとうございます!
ベストアンサー1
コンソールで実行します:
$ rails g migration rename_season_to_season_id
現在、ファイルdb/migrate/TIMESTAMP_rename_season_to_season_id.rb
には次の内容が含まれています:
class RenameSeasonToSeasonId < ActiveRecord::Migration
def change
end
end
次のように変更します。
class RenameSeasonToSeasonId < ActiveRecord::Migration
def change
rename_column :shoes, :season, :season_id
end
end
次に$ rake db:migrate
コンソールで実行します。