内容へ移動
Cat Paw Software
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
rails:migration
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== マイグレーション ====== DBのテーブル管理を行う。 以下version 2.1前提 ===== コマンド ===== 基本はrakeを使う // マイグレーション実行 $ rake db:migrate // 指定のバージョンのupを実行 $ rake db:migrate:up VERSION=XXXXXX // 指定のバージョンのdownを実行 $ rake db:migrate:down VERSION=XXXXXX // 一つバージョンを戻す $ db:rollback // 指定のバージョン分戻す $ db:rollback STEP=3 // 現在のバージョンを再適用 $ db:migrate:redo 色々やってると最初のバージョンからマイグレーションを実行できなくなっている事もある。そんな時はmigrateではなくschemaを使うといい。 // スキーマ(db/schema.rb)をロード $ db:schema:load // 現在のDBからスキーマを作成 $ db:schema:dump ===== migrationのコマンド ===== <code ruby> class Hoge < ActiveRecord::Migration def self.up # テーブル作成 create_table :table_names do |t| t.string :col_name1 t.integer :col_name2 t.timestamp end # テーブル削除 drop_table :table_names # カラム追加 add_column :table_names, :col_name, :string, :null => false, :default => "hoge" # カラム削除 remove_column :table_names, :col_name # カラム名変更 rename_column :table_name, :current_col_name, :new_col_name # カラム変更 change_column :table_names, :col_name, :string, :null => false, :default => "hoge" # インデックス追加 add_index :table_names, :col_name # ユニークインデックス追加 add_index :table_names, :col_name, :unique => true # 複合インデックス追加 add_index :table_names, [:col_name1, col_name2], :unique => true # インデックスを削除 remove_index :table_names, col_name # 好きなSQLを実行 execute "sql ... " end def self.down end end </code> add_column、change_columnオプション <code ruby> :limit => 255 # 文字列長、桁数 :default => "hoge" # デフォルト値, :null => false # NOT NULL, :precision => 10 # decimalの精度, :scale => 8 # decimalのスケール </code> カラムの型指定 :string, :text, :integer, :float, :decimal, :datetime, :timestamp, :time, :date, :binary, :boolean timestamp指定はcreated_atとupdated_atというdatetimeカラムを作成し、それぞれ作成時刻、更新時刻をActiveRecordがセットする。
rails/migration.txt
· 最終更新:
2008/11/25 08:03
by
127.0.0.1
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ