2012-02-04 2 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. Например, это:

rails generate migration add_fieldname_to_tablename fieldname:string 

будет производить это:

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 

, который будет производить миграция, которая включает поля, необходимые для модели.

+0

Сначала я просто хочу, чтобы создать среднюю таблицу, чтобы соединить две таблицы, построить многие-ко-многим. Это простой пример, я не собираюсь изменять таблицу :) –

0

Может быть, вы ищете:

rails generate model Testabc test123:string