2015-10-04 40 views
1

我有一个在rails应用程序中创建的Postgresql数据库,我想添加默认值。将缺省值添加到rails数据库

我创建了一个迁移

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 

但是这会导致“---:默认:洛杉矶”,而不只是“洛杉矶”

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

我对此很感兴趣,事实上我曾试图创建第一次迁移,而不是对现有迁移进行细微修改。

谢谢。我知道这只是语法上的一个小改变,但到达这里却很具挑战性。

PS。我该怎么做,并且正在改变现在的不同?

回答

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

+0

感谢。有点明显。我已经说过这是默认的改变。学习。接下来的应该会更容易。简单更好。 – Greg