We have multiple postgres databases (in different clouds in production) that we want to test against with Heroku CI with multiple nodes.
Our primary database is set to use heroku-postgresql:in-dyno which works fine.
A second database is running as heroku-postgresql:standard-0, and during db:structure:load_if_sql in the buildpack, whichever node arrives first loads the structure, and all later nodes spew ERRORs about the structure already existing.
On occassion, two nodes attempt to apply migrations simultaneously, causing one of them to error out the build with a ActiveRecord::ConcurrentMigrationError 😞.
Even with transactional tests, we sometimes fail tests that count database records. This seems like a bug elsewhere, but being able to provision a second in-dyno database (another db in the same postgresql server even) would solve this problem.
We have multiple postgres databases (in different clouds in production) that we want to test against with Heroku CI with multiple nodes.
heroku-postgresql:in-dyno
which works fine.heroku-postgresql:standard-0
, and duringdb:structure:load_if_sql
in the buildpack, whichever node arrives first loads the structure, and all later nodes spew ERRORs about the structure already existing.ActiveRecord::ConcurrentMigrationError
😞.