2013-02-13 1 views
0

Для Rails 3.2 я написал эту миграцию, чтобы переименовать имя столбца, как показано в миграцииизменения миграции показывают в файле схемы, но не в БД

class RenameKpiColumn < ActiveRecord::Migration 
def change 
    rename_column(:key_performance_intervals, :kpi_id, :key_performance_interval_id) 
end 
end 

И тогда я сказал bundle exec rails db:migrate

Если я перейти к schema.rb я вижу это для этой таблицы, так выглядит любит он выбрал новое имя столбца миграции:

create_table "key_performance_intervals", :force => true do |t| 
    t.integer "key_performance_interval_id" 
    t.integer "interval" 
    t.integer "interval_unit" 
    t.decimal "count" 
    t.datetime "created_at",     :null => false 
    t.datetime "updated_at",     :null => false 
    end 

Но если я открываю инструмент pgAdmin и посмотреть на столах и имена столбцов там, он все еще использует старое имя столбца kip_id.

Есть ли у меня какие-либо шаги?

+1

Что это говорит вам после запуска 'расслоение Exec Рельсы дб: migrate'? Кроме того, что делает открытие консоли рельсов, выполняя «рельсы c» и запуская «Key_performance_interval» (я полагаю, это ваша модель)? – weltschmerz

+0

@Charles: после запуска rake: migrate, это ничего мне не показывает. Просто идет к следующей строке – 2013-02-13 00:29:06

+1

Обычно это означает, что миграция уже успешно выполнена. Что говорит консоль? Кроме того, я перезапустил postgres и перезапустил рельсы. – weltschmerz

ответ

1

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

также подготовить тестовую базу данных, запустить

$ rake db:test:prepare 
+0

Спасибо за помощь. Это сработало. – 2013-02-13 00:54:25

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