diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-04-17 13:10:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-17 13:10:52 +0200 |
commit | f30c5e7f15f967019245d2c78f3c2e89800eb838 (patch) | |
tree | c75cb4589dbc605065f9d32aef783de36631529a /lib/generators/post_deployment_migration | |
parent | f28942cef991c9285236ea3ecace98c9b65c5242 (diff) | |
parent | 34f8e696e29683fd8b7113e7997e968869b76473 (diff) |
Merge pull request #2181 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'lib/generators/post_deployment_migration')
3 files changed, 35 insertions, 0 deletions
diff --git a/lib/generators/post_deployment_migration/USAGE b/lib/generators/post_deployment_migration/USAGE new file mode 100644 index 000000000..57f3c6aa1 --- /dev/null +++ b/lib/generators/post_deployment_migration/USAGE @@ -0,0 +1,10 @@ +Description: + Generate a Rails migration in the db/post_migrate/ dir. + + Interacts with the post_deployment_migrations initializer. + +Example: + bin/rails generate post_deployment_migration IsolateChanges + + Creates a migration in db/post_migrate/<timestamp>_isolate_changes.rb + which will have `disable_ddl_transaction!` and a `change` method included. diff --git a/lib/generators/post_deployment_migration/post_deployment_migration_generator.rb b/lib/generators/post_deployment_migration/post_deployment_migration_generator.rb new file mode 100644 index 000000000..adb34a289 --- /dev/null +++ b/lib/generators/post_deployment_migration/post_deployment_migration_generator.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +require 'rails/generators/active_record' + +class PostDeploymentMigrationGenerator < Rails::Generators::NamedBase + source_root File.expand_path('templates', __dir__) + + include Rails::Generators::Migration + + def create_post_deployment_migration + migration_template 'migration.erb', "db/post_migrate/#{file_name}.rb" + end + + def self.next_migration_number(path) + ActiveRecord::Generators::Base.next_migration_number(path) + end +end diff --git a/lib/generators/post_deployment_migration/templates/migration.erb b/lib/generators/post_deployment_migration/templates/migration.erb new file mode 100644 index 000000000..fd6a02a0f --- /dev/null +++ b/lib/generators/post_deployment_migration/templates/migration.erb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>] + disable_ddl_transaction! + + def change + end +end |