-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
parallel_migration_threads of anything greater than 1 raises ActiveRecord::ConcurrentMigrationError #298
Comments
@jwg2s I need to update our README that parallel migrations won't work unless you implement your own schema-aware advisory locks for migrations. I'm seeking advise for how to advise users who want to use parallel migrations rails/rails#43500 (comment) |
@jwg2s try disabling advisory_locks as noted here https://blog.saeloun.com/2019/09/09/rails-6-disable-advisory-locks/ |
Thanks, @mnovelo - that worked locally so we're unblocked on at least playing around with it. Curious - do you have a functional example of schema-aware advisory locks anywhere? |
Glad that worked for y'all, at least locally @jwg2s . I do not have a functional example of schema-aware advisory locks. IMHO, I don't think they're any safer than removing advisory locks completely, so they're not worth implementing. If someone else does, I'd be happy to include it in a wiki or in the README. I'll mark this issue as closed for now. |
Steps to reproduce
config.parallel_migration_threads = 4
(really anything greater than 1 will expose the issue)bundle exec rake db:migrate
Expected behavior
Actual behavior
ActiveRecord::ConcurrentMigrationError
error is raised, migrations fail.System configuration
Database: Postgres v14.12
Apartment version: Happens regardless of
ros-apartment
version, but confirmed on3.1.0
and2.11.0
Apartment config (in
config/initializers/apartment.rb
or so):use_schemas
:true
parallel_migration_threads
:4
Rails (or ActiveRecord) version:
6.1.7.9
Ruby version:
3.1.4
The text was updated successfully, but these errors were encountered: