&tag(マイグレーション); *目次 [#v5671532] #contents *関連ページ [#dd30858c] *参考情報 [#f8d1da54] *マイグレーションファイルの作成 [#t8235a17] **マイグレーションファイルを単体で生成する [#z9913a58] - rails generateで生成可能。create_booksはCreateBooksでも可。[[NAMAKESUGI |[Rails4] migrationコマンドまとめ:http://namakesugi.blog42.fc2.com/blog-entry-157.html]] rails generate migration create_books - createから始めたらcreate table、addから始めたらカラムの追加、removeから始めたらカラムの削除用のテンプレートを自動で作ってくれる。 **例1: テーブル生成 [#t4d00d54] -booksテーブルを生成する場合。 rails generate migration create_books -以下のようにファイルを書き換える。 #pre{{ class CreateHoges < ActiveRecord::Migration def change create_table :hoges do |t| t.string :name t.integer :age t.timestamps end end end }} **例2: テーブルにカラムを追加する [#ke1e3352] ***テーブルに文字列カラムを追加する [#ib05cf4e] -booksテーブルにimageカラム(文字列)を追加する rails generate migration add_image_to_books -以下のようにファイルを書き換える。 #pre{{ class AddImageToBooks < ActiveRecord::Migration def change add_column :books, :image, :string end end }} ***テーブルにMySQLのLONGTEXTカラムを追加する [#d856bcf4] -":text"だけだとLONGTEXTにならない。, :limitが必要。[[コチョナナバ: railsでmysqlのlongtext型を使う:http://kingyo-bachi.blogspot.jp/2013/06/railsmysqllongtext.html]] #pre{{ class AddDescriptionToBooks < ActiveRecord::Migration def change add_column :books :description, :text, :limit => 4294967295 end end }} *実行 [#be4a52be] -マイグレーション実行。何も指定しないとdevelopment環境が更新される。 rake db:migrate -production環境を更新したい場合 rake db:migrate RAILS_ENV=production -マイグレーション再実行 rake db:migrate:recet