在十进制列中设置默认值

时间:2011-11-27 16:56:13

标签: ruby-on-rails ruby-on-rails-3

如何在Rails中的十进制列中设置默认值?我尝试了以下两种方法,使用Rails 3和Postgresql,但在每个控制台之后,控制台告诉我默认值仍为nil。如果我从控制台设置值,则没有问题,但它似乎在迁移中不起作用。

#Attempt 1
add_column :providers, :commission, :decimal, :precision=>6,:scale=>4,:default=>0.1

#Attempt 2
add_column :providers, :commission, :decimal, :precision=>6,:scale=>4,:default=>BigDecimal("0.1")

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:8)

事实证明我还需要设置:null => false

以下代码有效:

add_column :providers, :commission, :decimal, :precision=>6,:scale=>4,:default=>0.1, :null => false