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