aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails_generator/generators/components/model/model_generator.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails_generator/generators/components/model/model_generator.rb')
-rw-r--r--railties/lib/rails_generator/generators/components/model/model_generator.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/railties/lib/rails_generator/generators/components/model/model_generator.rb b/railties/lib/rails_generator/generators/components/model/model_generator.rb
index a978b96b1c..5e9aa882f3 100644
--- a/railties/lib/rails_generator/generators/components/model/model_generator.rb
+++ b/railties/lib/rails_generator/generators/components/model/model_generator.rb
@@ -1,4 +1,6 @@
class ModelGenerator < Rails::Generator::NamedBase
+ default_options :skip_migration => false
+
def manifest
record do |m|
# Check for class naming collisions.
@@ -13,6 +15,20 @@ class ModelGenerator < Rails::Generator::NamedBase
m.template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb")
m.template 'unit_test.rb', File.join('test/unit', class_path, "#{file_name}_test.rb")
m.template 'fixtures.yml', File.join('test/fixtures', class_path, "#{table_name}.yml")
+
+ unless options[:skip_migration]
+ m.migration_template 'migration.rb', 'db/migrate', :assigns => {
+ :migration_name => "Add#{class_name.pluralize}"
+ }
+ end
end
end
+
+ protected
+ def add_options!(opt)
+ opt.separator ''
+ opt.separator 'Options:'
+ opt.on("--skip-migration",
+ "Don't generate a migration file for this model") { |options[:skip_migration]| }
+ end
end