Adopted from GitLab CE. Generate new migration with:
    rails g post_deployment_migration name_of_migration_here
By default they are run together with db:migrate. To not run them,
the env variable SKIP_POST_DEPLOYMENT_MIGRATIONS must be set
Code by Yorick Peterse <yorickpeterse@gmail.com>, see also:
83c8241160
		
	
		
			
				
	
	
		
			16 lines
		
	
	
		
			643 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			643 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# Post deployment migrations are included by default. This file must be loaded
 | 
						|
# before other initializers as Rails may otherwise memoize a list of migrations
 | 
						|
# excluding the post deployment migrations.
 | 
						|
 | 
						|
unless ENV['SKIP_POST_DEPLOYMENT_MIGRATIONS']
 | 
						|
  Rails.application.config.paths['db'].each do |db_path|
 | 
						|
    path = Rails.root.join(db_path, 'post_migrate').to_s
 | 
						|
 | 
						|
    Rails.application.config.paths['db/migrate'] << path
 | 
						|
 | 
						|
    # Rails memoizes migrations at certain points where it won't read the above
 | 
						|
    # path just yet. As such we must also update the following list of paths.
 | 
						|
    ActiveRecord::Migrator.migrations_paths << path
 | 
						|
  end
 | 
						|
end
 |