modelまとめ

http://ruby-rails.hatenadiary.com/entry/20140810/1407634200

$ rails g model modelname name:type name:type
$ rake db:migrate

binary
boolean
date
datetime
decimal
float
integer
primary_key
string
text
time
timestamp

カラム追加

$ rails generate migration AddUserIDToNews user_id:integer
$ rake db:migrate

カラム型変更

$ rails g migration change_datatype_title_of_articles
# db/migrate/20140808183810_change_datatype_title_of_articles.rb
class ChangeDatatypeTitleOfArticles < ActiveRecord::Migration
  def change
    # [形式] change_column(テーブル名, カラム名, データタイプ, オプション)
    change_column :articles, :title, :text

    # オプション
    # limit - カラム長の最大数
    # change_column :articles, :title, :text, limit: 120

    # default - カラムのデフォルト値を設定。NULLにしたい場合は、nilを指定
    # change_column :articles, :title, :text, default: "タイトルがありません"

    # null - null制約を設定。false -> null制約がON。true -> null制約がOFF
    # change_column :articles, :title, :text, null: true
  end
end

テーブル名を変更

$ rails g migration RenameListUsersToEditability

20130911094949_rename_list_users_to_editability.rb

class RenameListUsersToEditability < ActiveRecord::Migration
  def change
    rename_table :list_users, :editabilities #add
  end
end
$ rake db:migrate

モデル削除

$ rails destroy model modelname