Há algum tempo atrás me deparei com um plugin que tornava os migrations mais sexy. Gostei da abordagem do plugin, mas não o adotei.
Pelo visto não fui o único a gostar da proposta deste plugin. DHH também gostou. Tanto que na próxima versão do Rails teremos um jeito novo de criar migrations.
Hoje estamos acostumados a fazer assim:
[source:ruby]
create_table “products” do |t|
t.column “shop_id”, :integer
t.column “creator_id”, :integer
t.column “name”, :string, :default => “Untitled”
t.column “value”, :string, :default => “Untitled”
t.column “created_at”, :datetime
t.column “updated_at”, :datetime
end
[/source]
Mas poderemos fazer assim:
[source:ruby]
create_table :products do |t|
t.integer :shop_id, :creator_id
t.string :name, :value, :default => “Untitled”
t.timestamps
end
[/source]
Os dois códigos fazem exatamente a mesma coisa.