Может кто-нибудь, пожалуйста, помогите мне с запуском heroku run db:migrate
? Я забыл запустить db: миграция на heroku вместе с миграцией на dev env. Я сделал coulple из них, и теперь я получаю ошибку ниже:PG :: UndefinedColumn: ОШИБКА: столбец «image_file_name» отношения «статьи» не существует
wozane:~/workspace (master) $ heroku run rake db:migrate
Running rake db:migrate on ⬢ wozane... up, run.7786
(0.8ms) SELECT pg_try_advisory_lock(96974639112725850);
ActiveRecord::SchemaMigration Load (1.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
Migrating to RemoveColumnImage (20160917131520)
(0.7ms) BEGIN
== 20160917131520 RemoveColumnImage: migrating ================================
-- remove_column(:articles, :image_file_name, :string)
(1.5ms) ALTER TABLE "articles" DROP "image_file_name"
(0.7ms) ROLLBACK
(0.8ms) SELECT pg_advisory_unlock(96974639112725850)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedColumn: ERROR: column "image_file_name" of relation "articles" does not exist
: ALTER TABLE "articles" DROP "image_file_name"
Дело в том, что этот столбец был удален, и он не существует.
миграции упоминается в сообщении об ошибке (номер 20160917131520):
class RemoveColumnImage < ActiveRecord::Migration[5.0]
def change
remove_column :articles, :image_file_name , :string
remove_column :articles, :image_content_type, :string
remove_column :articles, :image_file_size, :integer
remove_column :articles, :image_updated_at, :datetime
end
end
schema.rb выглядит следующим образом:
ActiveRecord::Schema.define(version: 20160921115118) do
create_table "articles", force: :cascade do |t|
t.string "title"
t.text "text"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "img_url"
end
create_table "photos", force: :cascade do |t|
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "title"
t.string "img_url"
t.text "text"
end
end
Я пытался #
весь код в миграции, и он не сделал помогите вместе с теми комментариями, которые не сработали:
rails db:environment:set RAILS_ENV=production
heroku run rake db:reset
heroku run rake db:migrate -app wozane
heroku pg:reset DATABASE --confirm wozane
Do кто-нибудь знает, как запустить миграцию герою в моем случае?
Заранее спасибо.
Ваша таблица статей, кажется, не имеют какой-либо из колонок, которые вы пытаетесь удалить. –
Я удалил его с помощью миграции ранее. Проблема в том, что я не делал «heroku run rake db: migrate» в то время и, возможно, слишком много других изменений произошло между ними. – Wozane