2011-01-14 5 views
1

J'ai vu deux façons différentes de migrer une base de données. Lequel est le bon moyen de le faire dans Rails 3?Ruby On Rails Migration

class CreateProducts < ActiveRecord::Migration 
    def self.up 
    create_table :products do |t| 
     t.string :title 

     t.timestamps 
    end 
    end 

and 

class CreateProducts < ActiveRecord::Migration 
    def self.up 
    create_table :products do |t| 
     t.column :name, :string 
     t.timestamps 
    end 
    end 

Merci!

+0

le premier est le défaut, voir quand vous échafaudez – apneadiving

+0

Alors, quels sont les avantages de la seconde? – joshim5

+0

il n'y a pas d'avantages à la seconde – jshen

Répondre

5

t.string :title est juste un raccourci pour t.column :title, :string

deux sont ok, il n'y a pas de discrimination. Je préfère normalement la forme courte, car elle est plus lisible pour moi mais c'est juste une question d'opinion.

+0

+1 "Sexy Migrations" Nous sommes présentés à Railsconf 2007 Je crois que Rails 2.something introduction par David Heinemeier Hansson. il y a des séquences vidéo où il couvre cela. http://jroller.com/obie/entry/railsconf_2007_opening_keynote Il ne fait que garder les migrations un peu plus au sec. – EnabrenTane