playframework/Play20 — pull request #364 by sclasen (2012-06-15 19:17:20+00:00)
Title: Use Database Locks during Evolutions in a multi-node environment

If locking is enabled via evolutions.use.locks=true, database locking will be used around running evolutions.
This prevents issues in a multi node environment where multiple nodes attempt to run the evolutions and stomp on each other.

The SQL here should be supported by postgres and oracle.

This is opt-in functionality, so if you dont set evolutions.use.locks=true this code is bypassed.

Tested on heroku with 16 nodes, and works fine.

Discussed on the ML.