Я изменил имя столбца, теперь heroku db: migrate не работает, потому что столбец не существует

#ruby-on-rails #ruby-on-rails-3 #ruby-on-rails-4 #heroku

#ruby-on-rails #ruby-on-rails-3 #ruby-on-rails-4 #heroku

Вопрос:

Я изменил имя моего столбца ‘image_url’ в моей таблице ‘visions’ на ‘image’. Однако теперь, когда я пытаюсь выполнить команду heroku run rake db:migrate , я получаю сообщение об ошибке: PG::UndefinedColumn: ERROR: column "image_url" does not exist

rails db: migrate работает нормально. Однако heroku run rake db: migrate выдает мне ошибку.

это мой файл миграции для изменения имени столбца:

   def change
    rename_column :visions, :image_url, :image
  end
end
  

Моя схема для этой таблицы:

     t.string "description"
    t.string "image"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "user_id"
    t.index ["user_id"], name: "index_visions_on_user_id"
  end
  

Комментарии:

1. Похоже, что столбец image_url отсутствует в heroku. Можете ли вы подтвердить это с помощью running heroku run rails c и проверить атрибуты Vision

2. Просто чтобы убедиться, вы перенесли миграцию на heroku?

3. есть ли у вас какие-либо предыдущие файлы миграции, которые вы пытались установить visions.image_url ?

Ответ №1:

Попробуйте выполнить $ heroku run "bundle exec rake db:schema:dump amp;amp; cat db/schema.rb" , чтобы получить схему heroku, чтобы вы могли проверить, какие столбцы есть в таблице Visions.