私はデータベースアプリケーションが新しく、私はRuby Webアプリケーションを作成するためにDatamapperを使用しようとしています。データベース内のトランザクションの理解
transaction do |txn|
link = Link.new(:identifier => custom)
link.url = Url.create(:original => original)
link.save
end
を私はいくつかの質問を持っている:
は、私は理解していないコードのこの部分に出くわし正確取引は何ですか?そして、これを行うのではなく、なぜこれを優先したのですか。
link = Link.new(:identifier => custom)
link.url = Url.create(:original => original)
link.save
トランザクションの使用はどうすればよいですか?ベストユースケースは何ですか?そのような概念についてもっと読むことができる、オンラインで利用可能なリソースはありますか?
ありがとうございます!
+1。トランザクションが使用されている場合、同じ状況で何が起こるかを明確にすることができますか?トランザクションは行をロックするので、トランザクションの進行中にユーザーBはオブジェクトOにアクセスできません。私はちょうど興味があります... –
実装がいくつかありますが、基本的にはyesです。操作が完了するまで、行/テーブル/データベースはロックされています。実際にはいくつかのレベルの分離があります - http://en.wikipedia.org/wiki/Isolation_(database_systems) –
ありがとう、あなたのWikiリンクを読んで学習しています... –