diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2018-08-13 13:40:01 +0200 |
---|---|---|
committer | ThibG <thib@sitedethib.com> | 2018-08-13 18:17:20 +0200 |
commit | fcb527cdd6abda023a5e1de061f6cf7b1dd27205 (patch) | |
tree | c46b0364edd1fb7675775cca0126d9bec34c493c /lib/generators | |
parent | 9e4ac1c12c64bd6a3635eb88d424c152299cc732 (diff) |
Add post-deployment migration system (#8182)
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: https://gitlab.com/gitlab-org/gitlab-ce/commit/83c8241160ed48ab066e2c5bd58d0914a745197c
Diffstat (limited to 'lib/generators')
-rw-r--r-- | lib/generators/post_deployment_migration_generator.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/generators/post_deployment_migration_generator.rb b/lib/generators/post_deployment_migration_generator.rb new file mode 100644 index 000000000..798c01b88 --- /dev/null +++ b/lib/generators/post_deployment_migration_generator.rb @@ -0,0 +1,17 @@ +# 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 |