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.