Rails db migration, undefined метод `to_sym ', не может определить синтаксис
Вот моя первоначальная миграция:
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
EDIT:
Ошибка заключается в том, что вам не хватает типа столбца.
Использование:
change_column(table_name, column_name, type, options = {})
Так что это должно сработать для вас:
change_column :users, :state, :string, :null => false, :default => 'active'