将默认值添加到rails数据库

时间:2015-10-04 19:02:12

标签: ruby-on-rails postgresql rails-migrations

我在rails应用程序中创建了一个Postgresql数据库,我想添加默认值。

我创建了迁移

class AddCityStateDefaults < ActiveRecord::Migration
  def change
    change_table :addresses do |t|
      t.change_default :city, default: "Los Angeles"
      t.change_default :state, default: "CA"
    end
  end
end

但这会导致&#34; ---:默认:洛杉矶&#34;而不只是&#34;洛杉矶&#34;

可以肯定的是,我尝试更改的两个列被命名为city和state,它们的类型字符各不相同。我通过bin/rails generate migration AddCityStateDefaults创建了迁移,然后编辑了迁移。我不认为我可以在原始创作中写下这些变化(我知道它可以完成,但对我来说更复杂。我最终会到达那里。)

我对此不熟悉,实际上是我尝试创建的第一个迁移,而不是对现有迁移进行微小修改。

感谢。我知道这是语法上的一个小改动,但到达这里是很困难的。

PS。我应该怎么做并且现在改变它不同?

1 个答案:

答案 0 :(得分:1)

您应该只传递一个值,而不是哈希

class AddCityStateDefaults < ActiveRecord::Migration
  def change
    change_table :addresses do |t|
      t.change_default :city, "Los Angeles"
      t.change_default :state, "CA"
    end
  end
end

http://apidock.com/rails/ActiveRecord/ConnectionAdapters/Table/change_default