Heroku запустить rake db: перенести результаты без изменений в базу данных, приложение перезапустилось несколько раз
У меня проблема с переносом моих миграций в производственную базу данных.
Проблема:
Я изменил схему базы данных, добавив 1 столбец.Я перенес его в производственную базу данных:
MacBook-Air-Mac: приложение msc $ rake db: migrate RAILS_ENV = "production" [RailsAdmin] Инициализация RailsAdmin по умолчанию отключена. Передайте SKIP_RAILS_ADMIN_INITIALIZER = false, если вам это нужно. == AddLengthColumnToBooks: перенос ============================================== - add_column ( : books,: length,: integer) -> 0,0017 с == AddLengthColumnToBooks: перенесено (0,0019 с) =========================== ====
Думая, что новая схема БД в настоящее время находится в производстве, я развернул код, который делает некоторые вещи с:length
.
В производстве я получил следующую ошибку:
неопределенный метод `length = 'для #
я сделалheroku rollback
и понизил приложение до последней надежной версии.
Затем (возможно, уже слишком поздно) я узнал, что мне нужноheroku restart
приложение для загрузки новых индексов. Я делал это несколько раз.
Затем я открыл консоль и проверилBook.column_names
, но не былоlength
я сделалheroku run rake db:migrate
с последующимheroku restart
еще раз, без изменений.
Я пытался перенести другой столбец в производственную базу данных, но вообще не получил ни одного сообщения, даже одного из п.2.
Что я здесь не так делаю?Обновить
На основании ответовPhilipeЯ сделал ряд дополнительных шагов:
git add db/schema.rb
, git add db/migrate/20130325103953_add_length_column_to_books.rb
и 'git add db / migrate / 20130401041910_add_duration_column_to_books.rb'. Git ответил:Изменения, которые необходимо зафиксировать: (используйте «git reset HEAD ...» для удаления)
новый файл: db / migrate / 20130325103953_add_length_column_to_books.rb новый файл: db / migrate / 20130401041910_add_duration_column_to_books.rb изменен: db / schema.rb
Тогда я сделалgit commit -m "Updating the schema"
.
Опять результат был:
3 files changed, 168 insertions(+), 156 deletions(-)
режим создания 100644 дБ / перенос / 20130325103953_add_length_column_to_books.rb режим создания 100644 дБ / перенос / 20130401041910_add_duration_column_to_books.rb
Тогда я бегуheroku run rake db:migrate
, К сожалению не было никаких признаков миграции, просто получил:
Бегrake db:migrate
подключен к терминалу ... запустить, запустить 544 и все.
В рабочей Rails Console, работающейBook.column_names
все еще не хватает ни длины, ни продолжительности.
Теперь я еще больше вне идей. `