From c1bb0e70a3a1c7ebacf51e828648f36990721f3c Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Mon, 3 Jun 2019 14:56:09 +0000 Subject: [PATCH] Add redmine_plugin_migration generator (#31498). Patch by Kouhei Sutou. git-svn-id: http://svn.redmine.org/redmine/trunk@18223 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/generators/redmine_plugin_migration/USAGE | 5 +++++ .../redmine_plugin_migration_generator.rb | 20 +++++++++++++++++++ .../templates/migration.rb.tt | 4 ++++ 3 files changed, 29 insertions(+) create mode 100644 lib/generators/redmine_plugin_migration/USAGE create mode 100644 lib/generators/redmine_plugin_migration/redmine_plugin_migration_generator.rb create mode 100644 lib/generators/redmine_plugin_migration/templates/migration.rb.tt diff --git a/lib/generators/redmine_plugin_migration/USAGE b/lib/generators/redmine_plugin_migration/USAGE new file mode 100644 index 000000000..4e324bffb --- /dev/null +++ b/lib/generators/redmine_plugin_migration/USAGE @@ -0,0 +1,5 @@ +Description: + Generates a plugin migration. + +Examples: + bin/rails generate redmine_plugin_migration my_plugin add_new_column_to_table diff --git a/lib/generators/redmine_plugin_migration/redmine_plugin_migration_generator.rb b/lib/generators/redmine_plugin_migration/redmine_plugin_migration_generator.rb new file mode 100644 index 000000000..ed3d87506 --- /dev/null +++ b/lib/generators/redmine_plugin_migration/redmine_plugin_migration_generator.rb @@ -0,0 +1,20 @@ +class RedminePluginMigrationGenerator < Rails::Generators::NamedBase + include Rails::Generators::Migration + + source_root File.expand_path("../templates", __FILE__) + argument :migration, :type => :string + + class << self + def next_migration_number(dirname) + next_migration_number = current_migration_number(dirname) + 1 + ActiveRecord::Migration.next_migration_number(next_migration_number) + end + end + + def create_migration_file + plugin_name = file_name.underscore + plugin_path = File.join(Redmine::Plugin.directory, plugin_name) + migration_template "migration.rb", + "#{plugin_path}/db/migrate/#{@migration}.rb" + end +end diff --git a/lib/generators/redmine_plugin_migration/templates/migration.rb.tt b/lib/generators/redmine_plugin_migration/templates/migration.rb.tt new file mode 100644 index 000000000..c759c2a68 --- /dev/null +++ b/lib/generators/redmine_plugin_migration/templates/migration.rb.tt @@ -0,0 +1,4 @@ +class <%= @migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>] + def change + end +end -- 2.39.5