From 20e041579f5fe9df51bdc40048cc1ef78915e116 Mon Sep 17 00:00:00 2001 From: Sammy Larbi Date: Wed, 26 Dec 2012 13:02:28 -0600 Subject: Support creating a table migration generator Sometimes you want to create a table without an associated model and test, which is also not a join table. With this commit, you can now do that. Example: rails g migration create_posts title:string or rails g migration CreatePosts title:string This commit also moves the template the model generator uses for the migration to the migration templates folder, as it seems a more sensible place for it now that it is shared code. --- guides/source/migrations.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'guides/source/migrations.md') diff --git a/guides/source/migrations.md b/guides/source/migrations.md index d738d847e9..89ae564c24 100644 --- a/guides/source/migrations.md +++ b/guides/source/migrations.md @@ -179,6 +179,27 @@ class AddDetailsToProducts < ActiveRecord::Migration end ``` +If the migration name is of the form "CreateXXX" and is +followed by a list of column names and types then a migration creating the table +XXX with the columns listed will be generated. For example: + +```bash +$ rails generate migration CreateProducts name:string part_number:string +``` + +generates + +```ruby +class CreateProducts < ActiveRecord::Migration + def change + create_table :products do |t| + t.string :name + t.string :part_number + end + end +end +``` + As always, what has been generated for you is just a starting point. You can add or remove from it as you see fit by editing the `db/migrate/YYYYMMDDHHMMSS_add_details_to_products.rb` file. -- cgit v1.2.3