2011-12-09 155 views
0

我已經創建了一個遷移工具,將一個名爲blurb的列添加到只有一個名爲full_name的列的表中。在運行我的遷移之後,當我從postgresql數據庫的數據庫控制檯中檢查時,這個新列似乎被添加,但不是從Rails應用程序控制臺中檢查。然後經過一段時間,它也從postgresql控制檯消失。PostgreSQL的Rails遷移問題

我不知道如何解釋這一點。我的遷移是使用rails遷移生成器創建的,它是一個:文本字段。

class AddBlurbToPeople < ActiveRecord::Migration 
    def self.up 
    add_column :people, :blurb, :text 
    end 

    def self.down 
    remove_column :people, :blurb 
    end 
end 

任何幫助將不勝感激。

編輯:PostgreSQL的版本號爲9.0.4

+0

在這段「時間段」裏你在做什麼?你的開發/生產/測試數據庫都不一樣嗎? –

+0

我從字面上什麼都不做。我在開發環境中測試了這一點,所有環境都在不同的數據庫上。 – picardo

+0

事件的確切順序是什麼?停止服務器,運行遷移,檢查'psql'中的'\ d',... –

回答

1

你必須跑重裝!在「rake db:migrate」之後的控制檯上。或者乾脆重啓控制檯。

+0

哇! '重新加載!'工作。我很驚訝。我的問題是爲什麼_that_工作?奇怪的是,除非您重新啓動控制檯,否則數據庫中的某列將自行消失... – picardo