2016-02-15 4 views
1

После толчка к героку около 30 минут назад мы, похоже, ничего не можем сделать в консоли rails или выполнить миграцию.Rails Heroku Migration Stuck

Я могу сделать heroku run rake db:migrate

И это, кажется, начало:

heroku run rake db:migrate 
Running rake db:migrate on app... up, run.8092 
    ActiveRecord::SchemaMigration Load (1.4ms) SELECT "schema_migrations".* FROM "schema_migrations" 
Migrating to AddQuestionsCountToCampaigns (20160215204320) 
    (0.9ms) BEGIN 
== 20160215204320 AddQuestionsCountToCampaigns: migrating ===================== 
-- add_column(:campaigns, :questions_count, :integer) 

Но тогда он просто висит и никогда не завершается.

Аналогичным образом я могу подключиться к рельсам c, но я ничего не могу сделать, как Campaign.new или Campaign.last. Он просто висит там:

Loading production environment (Rails 4.2.0) 
irb(main):001:0> Campaign.new 

И никогда на самом деле ничего не делает.

Любые идеи, что может быть? Постановка работает отлично. Журналы также работают, и я не вижу никаких сбоев. Я также попробовал heroku restart, и это, похоже, не помогло.

Добавление миграции:

class AddQuestionsCountToCampaigns < ActiveRecord::Migration 
    def change 
    add_column :campaigns, :questions_count, :integer 
    add_index :campaigns, :questions_count 
    end 
end 
+0

Есть ли у вас много кампаний? Что такое 'Campaign.count'? Вы используете PostgreSQL? Какую миграцию вы выполняете (есть ли что-нибудь еще, кроме добавления столбца)? – faron

+0

Добавлена ​​миграция. Да - только стандарт Heroku Postgres. Campaign.count действительно не удалось - сказал, что слишком много соединений. Я пошел вперед и сделал pg: killall, и теперь все работает? –

+0

~ 23k кампании, хотя, а не тонна –

ответ

4

Для дальнейшего использования:

Проблема была слишком много пг соединений, открытых (работает в рельсах консоли `Campaign.count не удалось: сказал, что было слишком много соединений).

Решение было бежать pg:killall и перезапуску миграции