Editing the migration template

Hello Dominic

To myself.

That's easy: http://rails.techno-weenie.net/question/2006/3/26/change_indentation_of_auto_generated_rails_code

Dominic Son wrote: > Hi. I'd like to edit the generated template in AR where tables are > created. > > for example, this file is created when generating a new model or > migration: > > class CreateModel < ActiveRecord::Migration > def self.up > create_table :models do |t| > # t.column :type, > > I'd like to edit the above so it'll generate this: > > class CreateModel < ActiveRecord::Migration > def self.up > create_table :models do |t| > # t.column :type, :limit => , :null => false > > Can someone point me in the right direction?

Don't modify files in Rails gems directory, it's ugly !

Write your own generator, it is also easy. The template you want to change is rails-xx//lib/rails_generator/generators/components/model/templates/migration.rb

so you have to make your own model generator, a slightly modified version :

go to your Rails Root app. cd lib mkdir generators cd generators cp -Rv PATH_TO_RAILS/lib/rails_generator/generators/components/model/ . mv model my_model cd my_model mv model_generator my_model_generator (modify templates/migration.rb or any other templates files if you like)

So your my_model generator is in RAILS_ROOT/lib/generators and you just have to do a :

script/generate my_model Foo

that you generated files exactly as you want.

Note that if you want your another rails apps to benefit from that generator, put it instead in ~/.rails/generators

If you upgrade Rails, it will still work (provided Generator API isn't changed !)

   -- Jean-François.