【问题标题】:Rails migration issue with PostgreSQLPostgreSQL 的 Rails 迁移问题
【发布时间】: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 控制台上的模式来验证这一点。)

标签: ruby-on-rails postgresql


【解决方案1】:

您必须运行重新加载!在“rake db:migrate”之后的控制台上。或者干脆重启控制台。

【讨论】:

  • 哇! reload! 工作。我很惊讶。我的问题是为什么 that 有效?很奇怪,数据库中的一列会自行消失,除非您重新启动控制台...
猜你喜欢
  • 2015-08-30
  • 1970-01-01
  • 2013-09-07
  • 2014-03-24
  • 2010-11-01
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 2019-09-09
相关资源
最近更新 更多