Удаленные файлы миграции и Heroku - PullRequest
0 голосов
/ 02 июня 2018

Я уже спрашивал об этом, но не получил рабочего ответа, и, возможно, у меня есть лучший способ задать этот вопрос.

Короче говоря, я удалил некоторые проблемные файлы миграции (проблема возникает из-за неправильных файлов миграции; существует файл add_column_to_stocks перед файлом create_stocks), но по какой-то причине, heroku продолжаетсяхотеть перенести эти старые, удаленные файлы.Я понятия не имею, где хранятся эти файлы.

Если я делаю героку db:migrate:status, это ответ:

Status   Migration ID    Migration Name
--------------------------------------------------
   up     20171231042756  Create articles
   up     20171231044214  Add description to articles
   up     20180116183526  Create users
   up     20180116191414  Add user to articles
   up     20180116195212  Add password digest to users
   up     20180305082108  Create categories
   up     20180305090315  Create article categories
  down    20180515064500  Add latest price to stocks
  down    20180517202216  Add timetables to stock
  down    20180517205823  Add updatedtime to stocks
  down    20180521021514  Create user stocks

Проблемы начинаются с первого файла вниз.

Моя локальная папка миграции выглядит примерно так:

20171231042756  Create articles
20171231044214  Add description to articles
20180116183526  Create users
20180116191414  Add user to articles
20180116195212  Add password digest to users
20180305082108  Create categories
20180305090315  Create article categories
20180515064499  Create stocks.rb
20180521021514  Create user stocks.rb

Независимо от того, какие изменения я делаю в своих локальных файлах миграции, она по-прежнему хочет перенести эти проблемные файлы, поэтому я всегда получаюответ:

PG::UndefinedTable: ERROR:  relation "stocks" does not exist
: ALTER TABLE "stocks" ADD "latest_price" decimal

Я попытался войти в консоль heroku psql и удалить их вручную, но delete from schema_migrations where version = 20180515064500 возвращает ответ DELETE 0, то есть он ничего не удалил.

Я, черт возьми, зашла в тупик, и я потратил на это около полутора недель, разбивая голову.

Спасибо всем заранее !!Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Посмотрите, указана ли в ваших файлах db ваша версия rails (например, 5.2): В ваших файлах, которые находятся в режиме down.

class CurrencyCreateUsers <ActiveRecord :: Migration [5.2]

, тогда rake db: migrate

0 голосов
/ 07 июня 2018

Файл с номером миграции 20180515064500 должен быть удален, так как он пытается изменить таблицу, которой не существует.

Удалите файлы, которые нарушают миграции:

git rm db/migrate/20180515064500*.rb

и развернуть на героку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...