2013-10-11 3 views
0

Я сделал приложение rails 4 со стандартным sqllite. Но на Heroku, когда я запускаю свою первую миграцию я получаю ошибки, то время все работает безупречно на месте:Heroku db: переносить добавление миграции перед таблицей

$ heroku run rake db:migrate 

Ошибка:

Running `rake db:migrate` attached to terminal... up, run.3709 
Migrating to AddIndexToUserName (20131003064019) 
== AddIndexToUserName: migrating ============================================= 
-- add_index(:users, :name, {:unique=>true}) 
PG::UndefinedColumn: ERROR: column "name" does not exist 
: CREATE UNIQUE INDEX "index_users_on_name" ON "users" ("name") 
rake aborted! 
An error has occurred, this and all later migrations canceled: 

PG::UndefinedColumn: ERROR: column "name" does not exist 
: CREATE UNIQUE INDEX "index_users_on_name" ON "users" ("name")/app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in `exec' 
/

Это мой database.yml

development: 
    adapter: postgresql 
    encoding: unicode 
    database: poets_app_development 
    pool: 5 
    username: alain 
    password: some_password 
+0

Вы следили за рельсами 4? https://devcenter.heroku.com/articles/getting-started-with-rails4 – agmin

+0

Вы подтвердили, что эта миграция AddIndexToUserName (20131003064019) - фактически указана после создания миграции для пользователей? А также, что все ваши миграции проверяются на git? Если вы можете попробовать сбросить свой db на heroku 'heroku pg: reset DATABASE', а затем снова мигрировать – trh

+0

Да, это сразу после создания пользователя create (20131002004317), когда я печатаю heroku pg: reset DATABASE и выполняет миграцию, ошибка то же самое (извините за поздний ответ) –

ответ

1

Итак, если бы я отлаживал это, я бы сделал две вещи.

  1. Используйте ту же БД в разработке, как и в производстве (наилучшая практика и сэкономить время в долгосрочной перспективе).
  2. Попробуйте удалить базу данных и повторно запустить миграцию локально. Я подозреваю, что это тоже не удастся.

    rake db:reset 
    rake db:migrate 
    

Похоже, ваши миграции может быть из того или ссылки на то, что это еще не в базе данных. Это также должно вызывать ошибку локально.

+0

Черт, что не работает –

+0

Можете ли вы дать мне ошибку, которую он выбрасывает локально? Вызывает ли ошибка локально? – ezis

+0

Я понял, но спасибо !!!! –

Смежные вопросы