Actions
Patch #27659
closedredmine_plugin_model_generator improvements(fixes and timestamps)
Start date:
Due date:
% Done:
0%
Estimated time:
Description
Problems fixed:
- parent option not working
- migration option not working
- Timestamp for migrations
It would be really nice to add this to the migration generator for plugins.
Files
Related issues
Updated by Toshi MARUYAMA about 7 years ago
- Related to Defect #11024: redmine_plugin_model generator does not create the migration added
Updated by Toshi MARUYAMA about 7 years ago
Javier Menéndez Rizo wrote:
Problems fixed:
- parent option not working
- migration option not working
Please explain more details.
AFAIK Redmine plugin is based old Rails engines, but current Redmine does not implement full feature of Rails engines.
Updated by Javier Menéndez Rizo about 7 years ago
Problems:
- parent option: before the patch the parent option do nothing because in the model.rb template is not defined
Before patch model.rb template only inherits from ActiveRecord::Base
class <%= @model_class %> < ActiveRecord::Base
After patch model.rb template uses the method parent_class_name to calculate the parent and put it on the template
class <%= @model_class %> < <%= parent_class_name.classify %>
- migration option: before the patch the generator alway generates the migration file, even if you pass --no-migration
After patch redmine_plugin_model_generator.rb i put a guard clause for generate the migration or not
return unless options[:migration] migration_filename = "%.14d_#{@migration_filename}.rb" % migration_number template "migration.rb", "#{plugin_path}/db/migrate/#{migration_filename}"
Updated by Javier Menéndez Rizo about 7 years ago
New feature:
Timestamps in the name of the generated migration file, right now redmine plugins generates the migrations in this form:
001_create_polls.rb
After patch
20171127212003_create_polls.rb
Updated by Toshi MARUYAMA almost 7 years ago
OK, I see.
On trunk r17132:
$ rails generate redmine_plugin_model --help Usage: rails generate redmine_plugin_model NAME MODEL [field[:type][:index] field[:type][:index]] [options] Options: [--skip-namespace], [--no-skip-namespace] # Skip namespace (affects only isolated applications) [--migration], [--no-migration] # Indicates when to generate migration [--timestamps], [--no-timestamps] # Indicates when to generate timestamps [--parent=PARENT] # The parent class for the generated model [--indexes], [--no-indexes] # Add indexes for references and belongs_to columns # Default: true Runtime options: -f, [--force] # Overwrite files that already exist -p, [--pretend], [--no-pretend] # Run but do not make any changes -q, [--quiet], [--no-quiet] # Suppress status output -s, [--skip], [--no-skip] # Skip files that already exist Description: Generates a plugin model. Examples: bundle exec rails generate redmine_plugin_model meetings pool
Updated by Jean-Philippe Lang over 5 years ago
- Category set to Plugin API
- Status changed from New to Closed
- Assignee set to Jean-Philippe Lang
Committed, thanks.
Actions