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
		
	
			
		
			
				
	
	
		
			17 lines
		
	
	
	
		
			391 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
	
		
			391 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| require 'rails/generators'
 | |
| 
 | |
| module Rails
 | |
|   class PostDeploymentMigrationGenerator < Rails::Generators::NamedBase
 | |
|     def create_migration_file
 | |
|       timestamp = Time.zone.now.strftime('%Y%m%d%H%M%S')
 | |
| 
 | |
|       template 'migration.rb', "db/post_migrate/#{timestamp}_#{file_name}.rb"
 | |
|     end
 | |
| 
 | |
|     def migration_class_name
 | |
|       file_name.camelize
 | |
|     end
 | |
|   end
 | |
| end
 |