migrate icon indicating copy to clipboard operation
migrate copied to clipboard

Not documented which DBs are parallel-safe

Open oliverdain opened this issue 1 year ago • 0 comments

Describe the Bug

The FAQ contains a helpful section titled, "What happens if two programs try and update the database at the same time?". It says this is safe/supported for some databases but I can't find a list anywhere of which are and are not supported. For example, I'm using Cloud Spanner but the docs for it don't specify if it's supported or not.

I took a quick look at the code and I see comments like, Lock implements database.Driver but doesn't do anything because Spanner only enqueues the UpdateDatabaseDdlRequest but then the ensureVersionTable method appears to aquire a lock so I'm a bit confused.

Steps to Reproduce

Pick a DB and try to figure out if it supports parallel migrations or not. At least in some cases it's impossible without reading the code.

Expected Behavior

I suggest either:

  1. In the main README where you list all the databases supported turn that into a table with a column titled "parallel safe" or similar.
  2. In the README for each driver clearly indicate what the driver does or does not support.

Migrate Version

current HEAD

oliverdain avatar Dec 30 '23 21:12 oliverdain