rails db миграция, неопределенный метод `to_sym ', не может понять синтаксис - PullRequest
21 голосов
/ 01 мая 2010

Вот моя оригинальная миграция:

class CreateUsers < ActiveRecord::Migration
  def self.up
    ActiveRecord::Base.transaction do
      create_table "users", :force => true do |t|
        t.string :login, :limit => 40
        t.string :name, :limit => 100, :default => '', :null => true
        t.string :email, :limit => 100
        t.string :crypted_password, :limit => 40
        t.string :salt, :limit => 40
        t.string :remember_token, :limit => 40
        t.datetime :remember_token_expires_at
        t.string :activation_code, :limit => 40
        t.datetime :activated_at, :datetime
        t.string :state, :null => :no, :default => 'passive'
        t.datetime :deleted_at
        t.integer :occupation_id, :null => :yes
        t.datetime :paid_up_to_date, :date
        t.timestamps
      end

Я пытаюсь изменить значение по умолчанию «состояние», чтобы быть «активным» вместо пассивного Вот моя вторая попытка;

class ChangeUserStateDefault < ActiveRecord::Migration
  def self.up
    change_column :users, :state, :null => :no, :default => 'active'
end

1 Ответ

71 голосов
/ 01 мая 2010

EDIT:

Ошибка в том, что вы пропустили тип столбца. Использование

change_column(table_name, column_name, type, options = {})

Так что это должно работать для вас:

change_column :users, :state, :string, :null => false, :default => 'active'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...