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
		
	
			
		
			
				
	
	
		
			18 lines
		
	
	
		
			391 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			18 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
 |