Rails 3 での "migrate" のドキュメント ( Rails 3.0 Relese Notes Migrate ) は既に読みましたが、いくつか疑問があります。
たとえば、次の 2 つのクラスを作成しました。
rails generate scaffold User name:string age:integer height:float
rails generate scaffold Hat type:string width:float height:float
これにより、モデル、コントローラー、...ユーザーとハット、およびその移行クラスが作成されます: xxx_create_users.rb と xxx_create_hats.rb
さて、User クラスを変更したいと思います。高さ属性を削除し、Users と Hats の間の関係を追加します。
ユーザー
class User < ActiveRecord::Base
attr_accessible :name, :age
has_many :hats
end
帽子
class Hat < ActiveRecord::Base
attr_accessible :type, :width, height
belongs_to :user
end
私が推測するオプション:
すべてのファイル xxx_create_xxx.rb を削除してから、以下を使用して再度作成します
rails generate migration CreateUser
(Hat についても同様) 。新しい移行ファイルを作成し
rails generate migration MyNewMigration
ます。すべての変更を手作業で成文化します。
クラスの変更を自動化してデータベースに渡す別の方法はありますか? 正しい進め方は?