Nejdříve přidání a odebrání pole, toto jsou jednořádkové příkazy v self.up a self.down migrace. Aby bylo jasné co píšu, tak se jedná o přídání nového sloupce s názvem poradi do tabulky produkty. Sloupec je číselného typu, tedy integer (:integer).
def self.up
add_column :produkty, :poradi, :integer
end
def self.down
remove_column :produkty, :poradi
endNově přidaný sloupec má sloužit jako pořadové čislo. Určuje tak vzájemné pořadí záznamů a nemá žádný další význam.
class AddPoradiToProdukty < ActiveRecord::Migration
def self.up
add_column :produkty, :poradi, :integer
add_index :produkty, :poradi, :unique => true
counter = 0
Produkt.find(:all).each { |produkt|
produkt.poradi = counter
produkt.save
counter += 1
}
end
def self.down
remove_index :produkty, :poradi
remove_column :produkty, :poradi
end
end