<div class="warning"> 이 글은 "웹 개발 2.0 루비 온 레일스" 를 공부하면서 개인적으로 정리한 내용입니다. 상세한 내용을 보고자 하시는 분은 책을 구매하시길 바랍니다. </div>

명령어#

  • 명령창에서

ruby script/generate migration InitialSchema

  • Aptana IDE에서

db_migration.png

마이그레이션 파일#

db/migrate/버전_initial_schema.rb 내용

class InitialSchema < ActiveRecord::Migration
  def self.up
    create_table "people" do |t|
      t.column "id", :integer, :null => false
      t.column "group_id", :integer, :null => false, :default => 1
      t.column "name", :string
      t.column "phone_number", :string, :limit => 20
      t.column "note", :text
      
      add_column "people""temp_column", :integer
    end
    
    create_table "group" do |t|
      t.column "id", :integer, :null => false
      t.column "name", :string
    end
    
    rename_table "group""groups"
    add_index "groups""id", :unique => true
    execute "실제 SQL문"
  end
  
  def self.down
    drop_table "people"
    drop_table "group"
    
    remove_column "people""temp_column"
    remove_index "groups""id"
  end
end

반영하기#

  • 명령창에서

rake db:migrate VERSION=3

  • Aptana IDE에서

rakedb_migrate.png

마이그레이션용 데이터 타입#

마이그레이션 데이터 타입MySQL 타입루비 타입
:stringVARCHAR문자열
:textTEXT문자열
:integerINT정수
:floatFLOAT실수
:decimalDECIMALBigDecimal
:booleanTINYINTtrue/false
:dateDATE날짜
:timeTIME시간
:datetimeDATETIME시간
:binaryBLOB문자열

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
db_migration.png 9.0 kB 1 22-Jul-2007 16:23 DongGukLee
png
rakedb_migrate.png 7.7 kB 1 22-Jul-2007 16:25 DongGukLee
« This page (revision-4) was last changed on 22-Jul-2007 22:07 by DongGukLee