Skip to content

Instantly share code, notes, and snippets.

@xpepper
Created March 6, 2013 23:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xpepper/5104248 to your computer and use it in GitHub Desktop.
Save xpepper/5104248 to your computer and use it in GitHub Desktop.
test delle transazioni in Rails
# Ho creato una app rails semplice, con un modello User e uno Order.
# User:
class User < ActiveRecord::Base
attr_accessible :name, :surname
has_many :orders
end
#Order:
class Order < ActiveRecord::Base
attr_accessible :description, :number, :user_id
belongs_to :user
end
# poi ho eseguito questo:
puts User.count
puts Order.count
User.transaction do
u = User.create(name:"paolo")
o1 = Order.create(number: 493943)
o2 = nil.create(number: 1234) # errore, qui dovrebbe fare il rollback!
end
puts User.count
puts Order.count
@descovi
Copy link

descovi commented Mar 7, 2013

Ulteriore dettaglio importante per la nostra situazione di db legacy è che le tabelle devono essere innodb (la maggior parte delle nostre sono myisam).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment