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
		
	
			
		
			
				
	
	
		
			15 lines
		
	
	
	
		
			643 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			15 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
 |