Я создал новую миграцию , чтобы добавить столбец с именем transferred
в advance_payments
таблицу.
class AddTransferredToAdvancePayments < ActiveRecord::Migration[5.0]
def change
add_column :advance_payments, :transferred , :boolean, default: false
end
end
После миграции столбец существует в schema.rb :
create_table "advance_payments", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
...
t.boolean "transferred", default: false
...
end
Консоль
Но когда я проверяю объект AdvancePayment
в консоли, столбец с именем transferred
отсутствует
AdvancePayment.last.transferred
или AdvancePayment.last.transferred?
NoMethodError: неопределенный метод "передал"
[1] pry(main)> AdvancePayment.last
AdvancePayment Load (0.5ms) SELECT `advance_payments`.* FROM `advance_payments` ORDER BY `advance_payments`.`id` DESC LIMIT 1
=> #<AdvancePayment:0x0000000747e468
id: 107,
...
// all columns except "transferred"
[10] pry(main)> AdvancePayment.has_attribute?(:transferred)
=> false
Я попытался db:migrate
и db:schema:load
, и я получил тот же результат.
Я также попытался drop
, чем воссоздать БД, закрыть, а затем снова лучше открыть сервер.