about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/generators/post_deployment_migration_generator.rb17
-rw-r--r--lib/templates/rails/post_deployment_migration/migration.rb8
2 files changed, 25 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
diff --git a/lib/templates/rails/post_deployment_migration/migration.rb b/lib/templates/rails/post_deployment_migration/migration.rb
new file mode 100644
index 000000000..503205b84
--- /dev/null
+++ b/lib/templates/rails/post_deployment_migration/migration.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+class <%= migration_class_name %> < ActiveRecord::Migration[5.2]
+  disable_ddl_transaction!
+
+  def change
+  end
+end