I have db type,
I need to change it to float. More specifically,
1.2, 45.1, 143.8 ...
Don't use float here, use decimal (if your real intention is
_decimals_, for counting "business" things like money,
quantity, size in centimeter, etc.).
I have two questions:
1. Is removing and adding the field through migration the only way?
in other words, is there a single command to change the type?
Probably with "change_column" (I am not 100% sure). Refs:
2. Is there anyway to limit the decimal place to only one?
56.3, 34.2... are acceptable, but 23.112, 77.34, ... are not.
Yes, with decimal:
"... For clarity’s sake: the precision is the number of significant
digits, while the scale is the number of digits that can be stored
following the decimal point. For example, the number 123.45 has a
precision of 5 and a scale of 2. A decimal with a precision of 5 and a
scale of 2 can range from -999.99 to 999.99. ..."
t.decimal :number, :precision => 10, :scale => 1