2012-02-04 7 views
0

私は、このようなコマンドを使用します。Railsの移行ジェネレータは、私が要求するフィールドを尊重しないのはなぜですか?

[email protected]:~/demo$ rails generate migration Testabc test123:string 

と端末応答:

invoke active_record 
create db/migrate/20120204124219_testabc.rb 

しかしfile`sコンテンツでは、次のとおりです。だから、

class Testabc < ActiveRecord::Migration 
    def up 
    end 

    def down 
    end 
end 

、私のテーブルがありますと列の列?

答えて

3

移行はrails g migration add_<field>_to_<table> field:typeのようにする必要があります。たとえば、この:

class AddFieldnameToTablename < ActiveRecord::Migration 
    def up 
    add_column :tablenames, :fieldname, :string 
    end 

    def down 
    remove_column :tablenames, :fieldname 
    end 
end 

あなたがゼロからモデルを生成したい場合は、あなたが行う必要があります:

生成します
rails generate model Widget fieldname:string 

rails generate migration add_fieldname_to_tablename fieldname:string 

はこれを生成しますモデルに必要なフィールドを含む移行。

+0

、私は多対多の関係を構築し、2つのテーブルを接続するために中央のテーブルを作成したいです。 これは単なる例です。私はテーブルを変更するつもりはありません:) –

0

たぶんあなたが探している:最初は

rails generate model Testabc test123:string 
関連する問題