Project

General

Profile

Patch #31498 » add-redmine-plugin-migration-generator.diff

Kouhei Sutou, 2019-06-02 23:49

View differences:

lib/generators/redmine_plugin_migration/USAGE
1
Description:
2
    Generates a plugin migration.
3

  
4
Examples:
5
    bin/rails generate redmine_plugin_migration my_plugin add_new_column_to_table
lib/generators/redmine_plugin_migration/redmine_plugin_migration_generator.rb
1
class RedminePluginMigrationGenerator < Rails::Generators::NamedBase
2
  include Rails::Generators::Migration
3

  
4
  source_root File.expand_path("../templates", __FILE__)
5
  argument :migration, :type => :string
6

  
7
  class << self
8
    def next_migration_number(dirname)
9
      next_migration_number = current_migration_number(dirname) + 1
10
      ActiveRecord::Migration.next_migration_number(next_migration_number)
11
    end
12
  end
13

  
14
  def create_migration_file
15
    plugin_name = file_name.underscore
16
    plugin_pretty_name = plugin_name.titleize
17
    plugin_path = File.join(Redmine::Plugin.directory, plugin_name)
18
    migration_template "migration.rb",
19
                       "#{plugin_path}/db/migrate/#{@migration}.rb"
20
  end
21
end
lib/generators/redmine_plugin_migration/templates/migration.rb.tt
1
class <%= @migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>]
2
  def change
3
  end
4
end
(1-1/2)