【发布时间】:2011-12-09 05:21:27
【问题描述】:
我创建了一个迁移,以将名为 blurb 的列添加到只有一个名为 full_name 的其他列的表中。运行迁移后,当我从 postgresql 数据库的数据库控制台检查时,似乎添加了这个新列,而不是从 Rails 应用程序控制台检查。然后在一段时间后,它也会从 postgresql 控制台中消失。
我不知道该怎么解释。我的迁移是使用 rails 迁移生成器创建的,它是一个 :text 字段。
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
【问题讨论】:
-
这段“时间”你在做什么?您的开发/生产/测试数据库都不同吗?
-
我实际上什么也没做。我正在开发环境中对此进行测试,所有环境都在不同的数据库上。
-
事件的确切顺序是什么?停止服务器,运行迁移,在
psql中检查\d,... -
更正:实际上我应该补充一点,在那段时间我正在重新启动 Rails 控制台,并且我认为在控制台加载后该列会丢失。 (我通过在 Rails 控制台启动时查询 postgresql 控制台上的模式来验证这一点。)